I have observed on a digital scope exactly the opposite. A large amount of bounce on microswitches and less on keyboard-type switches.
Different switches vary, the worst I have seen are some Cherry-manufactured switches.
What I wrote is not to say that a particular microswitch (very light ones in particular) won't bounce, or that a
new and clean keyboard style switch will. However, microswitches are less susceptible to bounce than the parts they replaced, which were leaf switches (where some bounce can be beneficial to play) and older pushbuttons which basically hold a couple of contact points together and can be minutely slid around on each other when held down by the actuator/user.
Again, IMHO, the answer isn't to hobble the capabilities of any and every switch connected to account for the lowest common denominator, rather to replace poorly performing/dirty/worn out switches (or in the case of leaf switches, just clean them). Any switch which would require nearly 100ms of debounce should probably be considered suspect.
The game ROMs might well have de-bounce built in. But they are reading the switch ports directly. Thats a whole different issue to sending spurious switch transitions through an interface to a PC.
At the nuts and bolts level, that's true. But in practical use, it's really not. If a game places a fire limit to X switch transitions per screen refresh, or other arbitrary criterion, that will be the limit, whether as the result of switch bounce, or input from an interface to a PC. Some debouncing isn't a bad thing, but when switches are debounced by the interface for a period longer than what the game expects, you start to see issues like the one mentioned by the OP.
The code in the games will take care of this to great extent. Asteroids, for example, will only place shots as close together as the code allows, regardless of the bounciest switch. It would also be hard to convince Defender and Stargate players that some switch bounce on their fire button is a "bad thing". Arcade games used leaf switches almost exclusively, and if bounce were an issue for any particular title, it'd been accounted for in the code. And if not, I would posit that any switch bounce was expected to be part of the play dynamic (again, see the Defender / Stargate example.) Players will spend a lot more time in the games than the menus, so in-game performance is the paramount concern. My perspective is to let the FE and menu coders handle fiddly menus by simply inserting a tiny input delay, if they deem it necessary, but it really isn't.