Personally, I don't see a problem with this. The guy is racist redneck scum, but he's only hurting his own business. It's not someone elses right to buy from you in my mind, and I wouldn't want to deal with a bigot who hates me anyway. He has the right to his free speech, just as those he insults have the same right in return. I'm not suggesting fighting discrimination with discrimination, but if someone doesn't want to be around you, stay away from them. Sooner or later, their going to find that they exclude themselves from opportunities.
Bigots exist Everywhere. People almost always form groups and "Us vs Them" mentalities. It's not just America. I'm Australian, and whatever I think of America, I'm not going to generalise them as bigots. Plenty of my people are too. Even when you have situations where people are all alike, in schools, with small, innocent kids, you get people attacking others over exaggerated difference. This is a community of Gamers and Geeks. How many of you were bullied as a kid? I was, and my only crime was being less talkative than others, and not physically imposing. It's not Racism, and I have no idea how that feels, but discrimination and bigotry are everywhere. If you keep saying that it's "Only in America", you're being bigoted towards Americans, and you've set up your own nationalism and discrimination. If you aren't a bigot: Don't generalise. Ignore those who are until they try to infringe on the rights of others. Then fight them for all you're worth.
You can't make someone do what they don't want to in the name of tolerance: You'll just create resentment and the oportunity for abuse. Just accept that some people are stupid and intollerant: If they don't want to associate with certain people, fine. But you can, and should keep doing so, and sooner or later, the bigots will exclude themselves. (I've been party to this, and it's one of the funniest things I've ever heard of)