I use two different techniques to solve the problem. For a hole that is only slightly oversize, I use a punch all around the perimeter of the old hole to close up the hole.
If the metal at the original hole is beyond repair, I use a "speednut" that will accept the original screw to repair the hole. I drill a some small holes to the side of the original hole to create a "slot" to insert a speednut in the original location. The beauty of using a speednut to make the repair is that it requires no welding, no rivets, the original screws can be used, and the speednut is hardened and should last the life of the car. If for some reason, the speednut wears out, simply slide it out and replace with a new one (about $.50).