I certainly don't know the answer on how to stop what is happening but maybe some things to try are:
1 - Parents need to start being parents to their kids and stop trying to be their best friend.
2 - The PC bull has to stop included catering to everyone that is offend by everything.
3 - Kids need to be taught that there are consequences for their actions (and not just a 2 minute time out)
4 - Kids should be required to do community service for x amount of hours a year. Let them see how a lot of people have it worse then them.
5 - Schools need metal detectors like in the city schools do.
6 - Cell phones should not be allowed in school.
7 - Schools should have armed officers of some sort (retied police/military would be a good start).
8 - Teachers should be allowed to carry after taking special training classes.
9 - Criminals should have it much rougher than they do. They shouldn't have TV time, internet, basketball courts, weightlifting equipment, etc (Maybe that would deter some of these kids.) Our soldiers have it rougher than most criminals.
10 - Mental health is a big issue. If you don't take your meds, you need to be confined. If you have certain types of mental health problems, your "file" is tagged as such until the time it is determined you are ok, if ever.
11 - Better background checks for gun purchases especially regarding mental health (I know most criminals don't follow laws, but it's a start)
12 - When schools feel that someone is a threat, it needs to be brought to the authorities attention. Not just ban them from the school.
13 - Maybe facial recognition for the people entering the school. If you aren't in the school's system, you don't get in without the armed guard at the front door authorizing you.