This issue doesn't have one solution. It's complex. Banning guns outright will not solve this issue.
Nevertheless, proper and sensible gun control can still help mitigate some of this.
For example, i see no reason why any citizen should have 40+ guns. If his house is broken into, there are 40+ more guns in the black market. You want a gun for protection? Fine, have one, maybe 2.
I see no reason why any citizen should have assault style weapons. Also, no rifles with magazines. You want a gun for protection? Get a handgun. You want to hunt? Get a single loader rifle? Couldn't get a deer on a first shot? try another day..
No private sales or gun shows. You want to sell a gun to some guy? you must go through gun shop to mediate the transaction, so that background checks are done, etc, etc.
Even if some of these things are inconvenient, they will help. It will never be perfect, but it will help mitigate the issue.