Heck, armed teenagers would solve this problem.
Maybe, but it almost certainly would create a much bigger problem. Teenagers as a group are somewhat less than stable emotionally. Some good studies have shown that simply having access to guns escalates aggression among adults. We don't really need petty squabbles that might result in hallway fights turning into shootings instead.
Without engaging in a gun rights debate, I'd certainly much rather my kids attend a gun-free school than one where anyone is allowed to carry a gun. Far, far, far, far more people are killed by guns in non-school-shooting-rampages than the other way around, so I'll take the odds as they are now.
And I'll again mention the Washington State school shooting from a few weeks ago. From the accounts I've read, there almost certainly would have been no chance for anyone to have done anything in that case, even if all the kids were carrying guns. Many or most of these school shootings tend to be over before people really realize what was happening. And I somehow don't think the thought of getting shot is going to deter someone who is going to kill themselves, anyway. So your "solution" applies to a subset of an already very small (probability-wise) problem.
I do whole-heartedly agree with your comment about mental health help, though.