Here's one solution. You don't set up "gun free zones" like schools. Why? Because those are sitting duck targets for a sick criminal looking to do something like this.
Do you think someone like this would think twice about trying to do this at a police station? Or how about at a gun range? No. Why? Because they know they would be met with deadly force from good guys with guns.
What eventually stops a guy shooting up a school?
Good guys with guns. Guns are not the problem. Guns are a tool. The problem is we have a sick society that does not value human life. When you are taught by Hollywood and the Establishment media and the Marxist-controlled public schools that "there is no God" and "we all came into existence by random chance by evolution", that doesn't exactly instill a respect for human life. And then when you teach that it's ok to murder unborn children in abortions, that outright tells people that human life has no value.
Number one, you need deterrence. You need to have MORE armed good guys everywhere. Abolish "gun free" zones. Allow teachers, principals, and other adults at the school to be armed.
Next, you need to HARSHLY punish criminals who do commit crimes. The death penalty need to be re-instated and used in force. And no drawn out process. Execute them swiftly (within days). Bring back public executions.
Then...you need to establish a culture that values human life. Not a culture established by the Marxist Left that says it's ok to murder unborn children, and says humans are a "cancer" on the earth that need to be culled to "save us from global warming", etc.
But you're not going to take away my 2nd Amendment rights because some criminals are out there committing crimes with guns. How many lives are protected and saved by guns? Much more than those killed in crimes.
"Ye are not of the world, but I have chosen you out of the world, therefore the world hateth you." - John 15:19