Why not?
Those who won our independence by revolution were not cowards. They did not fear political change. They did not exalt order at the cost of liberty. To courageous, self-reliant men, with confidence in the power of free and fearless reasoning applied through the processes of popular government, no danger flowing from speech can be deemed clear and present unless the incidence of the evil apprehended is so imminent that it may befall before there is opportunity for full discussion. If there be time to expose through discussion the falsehood and fallacies, to avert the evil by the processes of education, the remedy to be applied is more speech, not enforced silence.
Louis Brandeis, Whitney v. California
Yes, this case applies specifically to government suppression of speech. But the principle regarding liberty remains the same. Do not exalt order at the cost of liberty. The remedy for evil speech is more speech.
Unless there is a tangible impact to the business (e.g. customers leave due to the exercised expression, thereby denying the business owner sales from those customers), I have a very hard time supporting the suppression of freedom of expression in a public place.
Customers would leave, and customers would be uncomfortable, whether that is the intent or not of the individual wearing the shirt. Maybe it was the only clean shirt he/she had to wear that day. Guns are controversial as well, and could cause business owners to lose customers. The business should not be forced to accept any nut that comes through its doors, especially if they are forcing the business to lose money.