This technique of gming has only one good point: since everything is set beforehand, the gm will be able to make easily a consistent story. That good point is why railroading is widely used among new gms (which isn't a bad thing, if they move on when they get the hang of it all) because they don't have to make too much of improvisation. But this is the only good point. Railroading private the players from what is essentially the most fun in rpgs: freedom. It simply anihilate any free will the players could have. If the players don't do as planned, then something will make them do as planned, or in the same situation.
For example: A railroading gm has planned that the pcs will fight a couple of yak physads when they will encounter one of their contacts. The pcs decide to follow another path they thought up, and call their contact to cancel the meet. The gm had prepared this encounter, so he decide that this other path doesn't lead anywhere, or any other path for that matter, so the pcs must encounter their contact, and the yaks. No matter how hard they try to avoid it, the yaks will be there.
That sucks.
In this example the players didn't have any choices: they had to battle
the yaks. Whatever they did it had the same result, the way they acted
didn't have any impact on the story. That's boring for the players, if
you are not in control of what is happening you are not having fun (that's
why gming is so fun ;).
So how do you prevent railroading? Quite simply, don't prepare everything
beforehand and don't be affraid to change what you have prepared. In life
there aren't any plot, the events simply flow from one another. Shadowrun
is like that too, events are not set before they happen, so making a plot
does not represent reality. Let your npcs react to the events as they happen,
like they would in real life. The key to all this is improvisation, with
a little practice it is possible to make entire runs without anything written,
just a couple of ideas in your head.
Thinking of npcs as people made combat more interesting, they weren't acting stupidly anymore. Combat became more dynamic, with npcs running, jumping, hiding, etc., in fact my game were much improved by that. Even more important is the fact that my players now have to stop injured guards from going away, since they will probably ring the alarm.
In the same vein, a fact I've seen often as a player is gms who play
their important characters stupidly, mainly by letting them get in front
of a bullet. Important and powerful npcs shouldn't die stupidly because
they wouldn't be important and powerful if they were stupid. So, how can
you make your npcs act with more intelligence? Quite simply don't get them
in front of a bullet (or a spell), that way they won't die. How? Simply
use surprise elements (the bad guy just have to hide somewhere, and snipe
pcs from there), always give him some possible exit door (beware of not
making the npc always escape, nomatter what, that would be railroading)
when possible and most of all, make your npcs at least as powerful as your
pcs. Too often I've seen ridiculously easy to beat adversaries.
For example: You enter the old house by going through an old wooden door and enter the hallway that have a wooden floor. To you left you see a litlle kitchen and to the right the living room.
This is a litlle bit bland. Its a good description but it is possible to do better. How? By using sounds and odors (weren't you listening?)!
The example, improved: You enter the old house by going through an old wooden door that creeks when you open it and enter the hallway, where the wooden floor creeks as if it was kin to the door. Mixed odors of spice and vegetables comes from the little kitchen to your left and you can smell the odor of tobacco coming from the living room on the right.
That's better, the setting is more believable, and you can understand how the place really feel when you're there. The first example is nearer to a movie experience: you get to see, but not to feel. The second one is nearer to novels: you see and you feel, that's why novels are still popular. But that's not my point. My point is that you should use sounds and smells to add life to your settings.