Civil Rights legislation, as well intentioned as it may have been, was unconstitutional and set the bad precedent on this sort of thing.
There is simply no Constitutional basis for forcing private citizens to provide services to others.
If Jim the barber only wants to serve red heads or wants to exclude red heads, that should be totally up to him and no one else. He should not be mandated by law to offer his services to everyone.
Exactly right. And if he excludes redheads, another barber shop will open down the street with a sign saying, "Redheads welcome here!" The second barber shop will either put Jim out of business, or not. If not, that means Jim's not the only one who doesn't want to be around redheads, and so he's performing a desired service. Let the free market take care of this kind of thing. Don't force people to serve customers they don't want.