Nobody is keeping you from legally protecting yourself. If you don't like somebody's rules about guns and you don't feel that you'll be able to adequately protect yourself if the nee arises, then stay off their property. YOU are making the choice to limit your legal protection by voluntarily entering their property. YOU are choosing to play ball in someone else's court with their rules. Don't like the rules? Go play somewhere else. Don't like the "no guns" sign at the movie theater? Go somewhere else. You ALWAYS have a choice.
You are trying to protect what is yours, and so are they. You may not agree with their methods. There may be piles of statistics and loads of studies that show that their methods aren't going to work. That's irrelevant because it's their property and if you want to be on their property, you need to follow their rules.
Side note - this is not at all related to discrimination for age, race, gender identity issues, etc. Those have been legally determined to be variables that an individual inherently has and cannot control. You can control whether or not you want to bring a gun (or any object) into a store.
ETA: Just a quick note here:
I understand the emotion of Ed's argument, and I think I understand your sentiment here, but by definition, the rights of one individual cannot trump the rights of another. I had a really long-winded explanation here, but it got a little incoherent so I'll just leave it at that. Frederic Bastiat's "The Law" as well as John Locke's "Two Treatises on Government" lay a good foundation here and our constitution was specifically written with Locke's works in mind.