I am going to saw something radical and extremely controversial. People can and should discriminate against anyone whenever they do not feel comfortable associating with them, whether based on race, gender, sexual orientation, hair color, smile, facial tick or because the other person is just plain acting crazy.
In the rush to persecute those who discriminate, we forget that they have reasons for discrimination. They may not be well thought out or good reasons. But it is these reasons we should be attacking, not the people.
The primary reason we should allow people to discriminate is that people own themselves or, if you prefer, they own their bodies. Forcing one person to serve another for any reason is wrong. In any other case, we would call this slavery.
When searching for a suitable romantic partner, we discriminate at the highest level. Any quality we do not prefer, gender, race, hair color, sexual orientation, etc. is considered acceptable grounds for discrimination.
Some people may claim that dating is different. In fact, people who support anti-discrimination laws seek only to target businesses. But business is only one institution by which humans exchange value for value. All human interactions involve the exchange of value for value. Why should businesses be the exception?
It is not the where people discriminate that should be our focus. We should deal with the why and not focus on the where. Targeting business with anti-discrimination laws does not end discrimination and does not fix the reason for discrimination. It simply punishes people for having beliefs we disagree with.