YEP cover is the key, theres no real way of combating the lack of accurate powerful weaponary at the start of the game, so it comes down to how you approach the situation, so remember use cover, think smart and be conservative with your ammo.
when fighting out in the open, if possible find yourself a nice position with plenty cover and plain view of target, when the fire fight starts, draw them towards you, let them come out in the open, when they are close enough for your weapon to be sufficiently accurate, use short 1-3shot bursts, i tend to aim for head as most of the tougher badguys are wearing armour.
if in a building, use doorways hidearound the corner and lean out taking short busrts, if you know the badguy is right round the corner and very close, jump out and give him a good old spray to the head, when clearing rooms, remember to sweep in all direction as you enter, they could be hiding right round the corner of the doorframes.
and as said above watch your flanks, they do very often try to come at you from the sides if they get close enough.
and dont for the love of got let your guard down, there have been many a time when i was starting out, i'd thought i'd killed everyone, started looting the bodys only to be gunned down halfway through rummaging in someones pockets, its a tad frightening and downright annoying.
i find the AI in this game to be quite smart "most of the time" and use cover to there advantage when possible, i've had some very enjoyable firefights against the AI