My pick for the best controller for both Mame and other emulators is the Dual Shock 3 connected via the Mayflash wireless adapter for PS3 controllers:
https://www.amazon.com/gp/product/B00DSFW5MA/ref=ppx_yo_dt_b_search_asin_title?ie=UTF8&psc=1Initially, I bought a variety of usb adapters for original gamepads. They worked well, but I grew tired of dealing with all the wires. Playing was a pain, too, just to figure out which controller was player 1, etc, not to mention dealing with controllers reordering because of Windows random assignments on boot (I know that you can fix the order, but it is a lot of configuration for a less than ideal fix). I bought an external hub, thinking that I would just plug in each usb adapter as needed, but I ended up not playing much because of the hassle.
The Mayflash dongle has a switch to alternate between Xinput and Dinput, so you can make your PS3 controller use Xinput for things like Steam games. It only supports one controller via Xinput, but the really cool thing is that it supports 4 controllers via directinput and the controllers get ordered based on the order you activate them. I have 4 PS3 controllers configured and setup through Retroarch, as well as other console emulators not supported by that platform. So far, the Mayflash device has been the best thing for my setup, since it's so easy to use and has been flawless so far. It's super fast and easy to switch between pairing with a PS3 console and the Mayflash dongle, so you can easily use the controllers with both console and PC.
The PS3 controllers, at least for me, have been the best value, because they are basically upgraded SNES pads (well, D-pad slightly downgraded), have built-in long lasting batteries, and have a D-pad that is far better than the Xbox D-pads (which are almost unusable for old school platformers, IMO).
If I was doing it all over again and trying to be as efficient as possible, I would skip the usb adapters and just buy 1-4 dual shock 3's and a single Mayflash dongle.
For a second investment, I highly recommend a Microsoft dongle and 4 Xbox 360 controllers, because there are tons of amazing multiplayer retro games on Steam (Play Towerfall, if you haven't already ...incredible game) and the 360 controllers have always worked flawlessly with every Steam game that I've tried. Then, you can leave your Mayflash dongle set to Directinput for the most part and use your Microsoft dongle for the Xinput stuff.
I find that the convenience of wireless and automatic controller ordering makes it more likely that I will take a few minutes out of my day and play games. It just makes it even easier if you have an easy to use and streamlined frontend that makes game selection virtually effortless.