I can see no reason for any civilian to have a semi-automatic weapon in their possession. They aren’t sporting guns and should not be out of military war zones. My solution would be to make them illegal nationally except for military use. Anyone found to have one in their possession would be sent to jail for a year, no exception. The military would have the responsibility to maintain records of their weapons to insure none were taken home. As these weapons are found or turned in they should be destroyed. Simple? No, but doable.