Switzerland is interesting in many ways, one of which is the degree to which the government is very close to a true democracy, the fact that they don't waste a ton of money on their defence (which has a lot to do with them being in a geographically special position) and in the way that they have guns but abuse is low.
The fact that this is very different to the situation in the US might hold some clues to what could be done about this.
But when it comes down to it, if a crazy person can easily get a hold of a gun, then there will be more shootings. There are two requirements for shooting sprees, 1. Crazy person, 2. Easy access of guns. Try to limit both.