There has to be something mentally wrong for someone to shoot another person under any circumstances other than self defense.
But since the mid 90's, there has also been a marked rise in school shootings that aren't related to gangs. So something is driving it. I don't know what that rise can be attributed to, but there may be social, economic or other pressures influencing the rise. I tend to believe that at least part of the rise can be attributed to the near instant national news coverage and the want/need to be in the national spotlight.
However, even with that we go back to the problem of a person having to have some sort of mental condition to shoot another person.
Bullying is the cause I think - always. That's a mental health issue. But, I don't really know how to stop it. Well, one way is by separating people - but in my case - I was bullied in my hometown - for just teaching English to people of another race. So should the make a separate areas of the county for me?