Instead of focusing on the guns themselves, which there are too many of, a solution could be restricting the sale of bullets. Limiting bullets to those with hunting licenses for example, and giving it time, could reduce existing guns to useless pieces of metal, unless people make their own bullets?
Criminals usually wouldn't care if they were going to commit crime (like robbing a bank, for ex.) about breaking a separate crime, due to them being criminals, therefore making gun control only negatively affecting the upstanding citizens who want to stop crime by using guns. Gun control is useless.