I now think that there are a few things in terms of mechanics (not touching on Raygun-esque firearm damage code tweaking which also would make for a more enjoyable game) that, being tweaked, would make the firefights a lot more realistic. I believe they are the things that, not being addressed, make your firefight feel weird for the lack therof.
They are:
1.) Suppression fire (and aspects of automatic fire)
2.) Not really taking into account postures, like whether or not you're in a firing position, facing, etc. (without handling this everyone gets to aimbot spin...look at how Phoenix Command specified all this stuff, look at how all the early tactical Rainbow Six were all about which way your team members were facing)
3.) Giving penalties for using certain firearms in close quarters besides for just the usual RPG penalties at long range
4.) Let there be hit locations, but let that be a function of the number of successes, so it doesn't conflict with damage staging
The thoughts:
1.) Suppression fire tactics in SR were never powerful enough to make suppression fire worthwhile. Part of the reason is that automatic fire in SR is really really slow. If you had realistic rates of fire for 1 to 3 second periods of time you could put a lot more bullets in the air.
So, the first thing you need to do is make the rate of fire realistic. Use Raygun firearms or use real world ones and determine number of rounds that would be fired in a turn from the particular firearm in question. If someone has more than one action per turn divide that number up by the number of actions the character can take. The number of rounds that may be fired goes way way up.
For burst fire or point automatic fire, have the player character roll his attack, but don't treat the whole burst as either a big hit or a big miss. Instead, count every bullet discharged. The player makes one attack roll with pool, and that attack determines how the first round in the burst hits. For the next round, remove the highest-scoring dice from the rolled dice, and raise the TN for recoil. So you have a higher TN and 1 less dice; this gives you the outcome for the second round. Keep going in this way until you have calculated what happened to each bullet in the air. There can never be less than 1 dice, because there is always at least a miniscule chance of hitting, even if the TN is really high and you're looking at only 1 dice. For weapons with double uncompensated recoil, subtract 2 dice. That would really simulate how with a FN FAL every round past the 3rd is pretty much wasted if you fire full auto while standing.
For suppression fire, have the player specify the area he is covering in meters, and have him spend his turn firing full auto. You get a number of rounds derived from the weapon's cyclic rate of fire. If there are any eligible targets within a certain meter span of coverage, roll a number of dice equal to the number of bullets in that meter that are in the air versus a TN equal to the TN that would be required to hit that target, including recoil penalties. This would make suppression fire actually be dangerous and let unskilled people be dangerous in close quarters if they spray out a large volume of fire. If you have Raygun-esque damage codes, as well, it means that people actually have an incentive to duck to avoid suppression fire instead of it being entirely BS based on Willpower rolls that everyone passes anyway. (You can still have Willpower rolls to determine if suppression fire gives you TN penalties due to flinching, if you want, but this way suppression fire can at least actually hurt you, and machine guns with a high rate of fire and a .30 cal cartridges are actually usable in their intended role.) I suppose that if you wanted to be really realistic you could even subtract dice as enemies got hit and absorbed bullets from the air for the next enemy.

2.) People have to determine the facing of their character. The character can cover a 30 degree arc. Changing your facing by 30 degrees is a Simple Action. So people with wired reflexes can still aimbot-spin on you if they move first and have more actions, but at least it's not instantaneous or inexplicable, and you can use delayed actions to cover doorways and such, thus creating satisfying tactical gameplay.
One thing I liked about Pheonix Command was that your shooting was penalized unless you were in a proper firing position and in order to do so you needed to take an action. In my opinion, in Shadowrun it would be better, if you firearms skill is 1-3, you are assumed to be firing from the hip and will be penalized unless you use a Simple Action to get into a firing stance. If you firearms skill is 4 or higher, you are assumed (unless you're totally surprised) to have your weapon in a high ready, but you still need a Simple Action to look down your sights instead of point shoot, so you'd still be penalized for not being in your optimum shooting stance, but the penalty would be a lot less. If you're shot you get knocked out of your optimum shooting stance and need to use another Simple Action to get back into it. If you fire without doing so we would treat it as firing from the hip.
If you've been knocked down by an attack and you're sprawled on your back it requires a Complex Action to get into a prone shooting position that will let you shoot with bonuses as opposed to penalties.
3.) Everyone already knows this, but you should be penalized for using a scope at a range other than it was intended to be used. Even an ACOG can be wince-inducing if you try to use it on a target that's very very close. Personally in real life I prefer irons over a red dot sight because I feel irons are the most versatile.
One annoying and comical thing in SR is how everyone is running around with guns that have comps, i.e. gas vent recoil compensation. I participate in competitive shooting sports and there are indeed some competitors who use gas vent recoil compensation on their handguns and it helps them for competition. However handguns intended for police or military use seldom have such systems because the expelled gasses could burn you if you were ever forced to fire the gun close to your body. Therefore to be more realistic there should be additional penalties if you try to fire a comped weapon while you're in melee combat. If you glitch maybe the gasses even burn you badly enough to give you a L wound.
4.) 1 success is a peripheral hit. Your damage code is staged down by 1, but unless otherwise specified the ballistic armor on the target only counts for half because peripheral armor tends to be lighter. 2 successes is a center mass hit, you have your standard damage code and full armor of the target applies. 4 successes is a headshot, only helmets can provide armor, and the damage code is raised by 1. 6 successes or more is a hit to the sino-ocular cavity, and only helmets with face shields can provide armor, and the damage code is raised to D automatically.
Thus we have hit locations and armor locations but it doesn't mess with the damage staging system. This should be used in lieu of called shots, I think.
Last time I spent a lot of time thinking about this, it pretty much got ripped apart by what I feel was pretty legitimate statistical criticism. Hopefully this is better. Good for a tactical SR game?