The best solution that I know is to home school my children. While I would appreciate being able to allow her to attend a private school the way that we had planned, this isn't a problem of the public schools, but of the schools generally.
Fortifications sound like a good idea until you take into consideration that the funding to fortify the schools has to come from somewhere. This money either gets added into tuition or it comes from raising property taxes in order to fund the fortifications of the public schools.
Gun control appears to be an easy solution, but it's impossible to keep guns out of the hands of criminals who will steal them, produce them, or otherwise hide them. It only serves to keep the guns out of the hands of law abiding citizens who use their guns to protect themselves from the dangers and the evils of the world.
If there is a solution to this problem, I don't personally have it, other than to have parents home school their children. It isn't a complete solution, however, as schools aren't the only locations where this sort of crime is committed. Crazy people will always find a forum for their craziness, and it doesn't matter whether it's schools or the town square. The only real difference between the two is that we get more upset when it's a child who dies than we do if it's an adult.