Declaring a place as a gun free zone is the same as extending an invitation to the crazies with their manifestos looking for 15 minutes of fame before they die. They know schools are a soft target where they can inflict unspeakable carnage before they are stopped.
Seems like maybe the solution would be to keep them guessing if they'll get a bullet in the head when they first pull out a gun.