For the sake of peace, let me suggest a compromise:
For businesses that serve a critical need, like the only ambulance or pharmacy or gas station or hotel within 100 miles, they must accept everyone. They lose a little freedom to choose, but they are a monopoly and can charge monopoly prices to make up for it.
For every other business, the business owner gets to pick and choose her customers freely -- unless all businesses offering similar, critically needed services excluded the same people. Then the customer could demand to be served because of "unfair discrimination". If the business owner refuses, she faces lawsuits and/or other government reprisal. If the customer falsely claims "unfair discrimination", he faces similar lawsuits and/or other government reprisal.
How's that for a fair compromise that solves all the hypothetical problems?
It should be good enough ... unless government bullying of innocent people is the actual objective and this pharmacy argument is just a way to sell it to people who, on balance, would rather the government not harass wedding cake bakers.