Yes. If they want to operate in a dangerous environment.
Let me put it to you this way. You are out late at night in a bad neighborhood. You have every right to be there even though there is a strong chance you will be accosted. You also have a legal right to conceal carry for your protection and indeed your piece is oiled, clean and loaded.
Do you leave it at home knowing that if (when) something bad happens, you can always call the police?
If you would’t do that, if you would provide security for yourself, then why are you denying McDonalds the same opportunity to provide security under the same circumstances?
I think you have hit on why we disagree. I believe that it is the customer's duty to provide security and not the business. Even if the business disallows guns, the customer's duty to protect himself requires that he either ignore the prohibition or cease doing business where he cannot protect himself.
I don't see the moral or ethical mechanism that transfers the duty from the customer to the vendor.