There is a very simple solution to this. Pass a law stating that any company or building posting or otherwise declaring they wish for no guns on their premises is now wholly liable, 100%, for the security of people on their property.
Then pass another law stating that failure to provide adequate security in the above case is a felony.
Watch how fast those signs come down.
This is all fine and good, but you can be sure they will pass the expense on to the customers
How would that work? It was a GUN FREE ZONE.
Should they have provided some unarmed rent-a-cop to come in and give James Holmes a severe frowning?
"Son, this is a GUN FREE ZONE! Stop shooting people. It's against our POLICY."
(In Droopy Dog voice:) "Yes, sir. I'll sit down now. Sorry."