It's a social problem that began to appear in the mid 90's. Prior to that, school shootings were extremely rare. Therefore, you have to look for a sociological cause, not blame it on guns.
When I was in high school, most of the farm kids had a shotgun and a twenty two carbine hanging in the back of their pick up trucks.
Altercations were VERY common, but the idea to go out and bring back one of the guns they had at school just was not done.
You get into a fight it is going to be a FIST FIGHT.
I always carried a huge buck knife on my belt as did most guys and got into plenty of fights for looking like a hippie (I dressed like Hendrix in high school and had my hair as long as was allowed - we had a horrid dress code) but BEING a cowboy/redneck; fights with both sides of the question.
I never pulled my Buck out even though I could easily field dress a deer or a boar with it or fatally wound a human being and neither did either one else. (that shit was for Saturday night and turf wars - not for school)
There were plenty of guns in school, but something else has changed.
Maybe it is gaming to blame where you kill your enemy and hit reset and they get up and play all over again.
/simpleton analysis
Everything is just different these days!