Every single gun has a unique signature (like a VIN #), and you had to buy insurance on your gun in order to own it, transfer title anytime its sold, and be held liable for any violence damage caused by a gun you own.
Insurance companies would have to vet you in order to give you a price, and any mishaps that occurred from guns you own, would make your insurance rates increase. As such you would take as much care who has access to your guns as you do with who has access to your car, and you'd only own guns you need.
Gun owners who are responsible would see the cost of owning guns go up a bit, but more careless folks would feel the economic effects, which would prod them to behave more responsibly.
This way, we can worry less about loopholes around what kinds of weapons people should own, or deal with bans or gun buybacks (which would secretly just be a boon for gun manufacturers). The people so adamant about owning weapons would now have a mechanism to compensate society for the damage they caused (if any).
Good policy because it's a market driven mechanism for gun safety, and good politics because it's functionally the government setting the rules, and getting out of the way (which the right wants) and reducing the societal cost/damange of gun ownership by pricing in externalities (which the left once).