I have some midi files, and I'm playing them back with Microsoft GS synthesizer. Are there alternative synthesizers or methods for improving the sound reproduction to be more like real instruments?
As you want a software solution, you could try a GM soundfont software synth. For exmaple RGC's SFZ. It looks like Cakewalk (cough) has bough RCG: http://www.cakewalk.com/products/SFZ/default.aspx
It looks like this is still free however.
There are a few others if you look around that may serve you well: http://www.synthfont.com/
Yes there are!
MIDI is a set of instructional codes to tell the synth what notes to play and when. There's a standard ("General MIDI", GM for short) that gives numbers to common instruments, so that the synthesizer can know that some notes for instrument X should be played with a grand piano sound, but instrument Y refers to a violin sound. I forget the exact numberings but that's the idea.
So any synthesizer you might have that implements GM can play back the MIDI data from those files. Many hardware synthesizers have done this (it's really common on keyboards, and I've also seen rackmount synth boxes and even MIDI drum modules that implement GM). I don't know of any standalone software synths that do, but there's no reason why they couldn't. I know there are some synthesizer plugins (Synth1 by Ichiro Toda, for example) for larger audio tools which have a default instrument mapping that matches the GM numbers.
The quality of sound reproduction is entirely up to your synthesizer. Generally a synth tends to have some instruments that it can model better than others.
It's way easier than all that. Download this app: coolsoft virtual midi synth
and one of the many soundfonts listed there, configure it to and voila!.
You can get a better synth or use samplers. Audio samples will make your sounds more realistic, since they are actual recordings of instruments. There are hardware units and software (plugin) units. Some sound cards have better GM synths onboard too - this might be the easiest option, but it still won't sound realistic, as it's being synthesized.