RetroArch has a very handy feature that lets you remap buttons on your gamepad by holding down another button. In this way, holding down a trigger can change the X,B etc. buttons on a microsoft xbox controller from emulating A & B etc. to the C buttons. So for N46, PS1 1 & 2, PC, and a few other systems I use a wireless Xbox 360 controller. I also aim to have this controller control the front end. (I have a N64 usb, but honestly with the above feature, and once you get used to it, the 360 controller feels just as good. Maybe even a little better, but that's hard to say, as anything starts to feel natural after a while.)
The D-Pad is the most interesting conundrum, isn't it? No one makes them like Nintendo. I've got SNES NES etc. usb controllers out the wazoo. I certainly wouldn't use the xbox controller for a Super Metroid playthrough (Though I have tried, I guess some things actually don't start to feel natural). I've tried logitech, madcatz, etc. Eventually, I settled on using a Wii Classic controller hooked up through wiimote connected via Dolphinbar, and it is worth it if you're playing 16 or less bit anything. Just this week I considered ordering a bluetooth dongle for the Wii U Pro controller, but everything I read seems to suggest its a pain to set up. I have no doubt that once I get around to it, it will be my controller of choice, though. I think we're fortunate that we can buy cannon nintendo D pads at all, and as my last order of business I'm probably going to buy a dozen or so of them, because I fear Dpads will become extinct.
At any rate, hope it helps.
Edit: Wanted to add, I've also gone the ps3 controller route, and I would recommend it over any of the logitech madcatz stuff for the dpad. But that's just me.
Edit Edit: When in doubt about the realness of a Dpad on a controller, use that controller to try and knock out Mike Tyson on NES. The limitations become clear quick haha.