I've determined that the subtitle rendering issue is not video player-specific. As suggested in the answers, I tried MPlayer, and again the subtitle formatting was overridden by default settings somewhere. I ran SMPlayer in Windows with the same videos, but this issue is not reproducible on it.
I would suggest using MPlayer. It's a really nice, feature-rich player, but often beginners have problem with the interface (CLI based by design) and the "too many possibilities" (which is also the result of being feature-rich player btw). "Raw MPlayer" (without frontends) allows you to position your subtitles with keys 'r' and 't', also you can try key 'a' to modify alignment. You can also learn about options and default keybindings by typing man mplayer within terminal. You can also visit the documentation of MPlayer at MPlayer's site:
About your question: mplayer can use TTF fonts, shaded/antialiased, positioned, etc as subtitles, so as far as I can imagine it should be enough for your needs, if usability is not a problem at least :)
What I imagine you're looking for is a player that renders subtitles at desktop resolution rather than video resolution, like MPC-HC which you noted. Apart from the Mplayer based solutions mentioned already, which I don't have much experience with, you might find the subtitle rendering in XBMC much better. OTOH, If you're looking for a player to run in a window while you're working, XBMC will not fit your needs. For me, I like the fact that XBMC can both re-sync videos to the current framerate and render subtitles nicely, so it's my fullscreen video solution. It seems to run even better if run as its own desktop environment (selected during login) rather than running under Unity or Unity-2d.