It doesn't have to be "all or nothing."
I will agree with you that the the availability of guns, combined with the above (or other) factors, is a potential recipe for disaster.
The problem with most gun control laws, however, is that they seek to punish innocent people while not providing much of a reduction in availability of guns to the wackos. Because we don't yet have the absolute ability to read the mind and intentions of another, we really don't have a good way of keeping guns out of the hands of wackos, while still allowing innocent people to own and bear arms.
I don't know if your main interest is in reducing school shootings, or if it's in reducing gun crime in general, but the two will require very different methodologies. The first will probably require a heavy focus on safety measures in the schools, while the latter might require heavy prosecution of gang-involved shootings.
But, whatever we do, what we don't want to do is forget about the single mother who lives in fear for herself and her children. What we don't want to do is take away her ability to protect herself and her young'uns, leaving her at the mercy of someone who intends to do her and the little ones harm.