Sklansky's Hold'em for Advance Players has some really good info on playing heads up and short handed. Granted, its a limit based book, but I think the ideas apply to NL and tournaments.

He goes through the strategy of always raising. Basically, if your opponent raises the pot every time and you only call half the time, he is a big favorite. Say the blinds are 5k/10k and he raises to 20k. He risks 15k to win 15. If you fold half the time, he is guaranteed a profit. Over two hands, say you fold the first time and he takes your 10 + the 5 he had to put in blind. That puts him up 15k. Second time you call and it plays out that he loses the hand. Now he's back to even. Because he won't always lose, you have to call at least half the time to stand a chance!

Sklansky argues the best way to fight this strategy is to raise back aggressively. You can't let the guy get away with this strategy. He has to know that if he raises with rags, you're going to make him pay. He also goes through the hands that will get you to a theoretically correct % of calls/re-raises. Its basically any pair, any Axs, any Kxs, suited connectors above 67 (I think), gapped suited connectors above 57 (I think) and a few other hands.

He also points out that this strategy can be just as effective for you if your opponent doesn't understand how to thwart it.

An especially important caveat is that you also have to be good post-flop to make sure that 15K loss doesn't turn into 45k!

When I was playing lots of SNGs, I found this approach to be pretty good at getting the win when I made it to heads up.

My problem is getting that far!