As far as i know Shantae now works perfect on BGB.
It works perfectly in Gambatte too, which is the other super accurate GB/GBC emulator. I like how it lets you set up color pallettes per game for GB games.
I love Mednafen for a lot of systems because: it works well paired with Hyperspin (no Hyperlaunch script required), has very low input lag with vsync on, it lets you reassign system keys like exit and save or load state (can assign to gamepad buttons too), uses a simple to edit cfg file, is portable and lets you assign multiple inputs per button (I have my keyboard, Saturn and PS2 pads all ready to go with it). It's the only PS1 emulator that creates a memory card file per game. I always hated managing virtual cards in ePSXe. Xebra might be a bit more accurate though. But Xebra doesn't get updated anymore, while Mednafen usually pushes out a beta update every few months.
Nestopia is supposed to be more accurate for NES, but it has sound desync issues, horrible lag with vsync on in fullscreen and I don't notice any emulation differences switching over to Mednafen. Even for harder to emulate stuff like the Japanese version of Castlevania III or Gimmick!.
I use VBA-M for GBA emulation since it has clearer sound and better real time clock save support. Mednafen is a bit off on the intro music of Alien Soldier and the weapon select screen background, so I still use Kega for Genesis/Sega CD/32x. Master System and Game Gear as well, just because Mednafen doesn't have an option to correct those two system's aspect ratio to 4:3.
For SNES I like SNES9x because it has more features than BSNES/Higan. It's pretty close to BSNES accuracy-wise as of v.1.53 anyways, and will be even closer when 1.54 is released (I keep seeing that version mentioned on byuu's forums).
There's a new Genesis (and eventually multi system) emulator coming called Exodus that's supposed to be at BSNES's level of accuracy, which you can read about
here. It sounds really interesting since it's modular:
Exodus is a generic emulation platform, which allows systems to be assembled from individual components at runtime. Nothing related to a particular system is hardcoded. Exodus constructs a system from a set of discrete components, manages the communication between those components, and keeps perfect timing accuracy between each component. Other systems can easily be modelled without modifying or rebuilding Exodus, it simply requires emulation cores for each device in that system to be available.