Heads up is quite simple mathematically, you just play the equity of your cards against a random range or calling a shove against a random range.
For example a weak-looking hand like Q♥8⋄ is around
53% vs a random hand and because of this is good enough to open it on
It's also a good hand to call a shove with since your equity says so. Of course, this depends on your opponent. Against a guy shoving always his
SB, you just call. Against a tighter player you may up your calling range but not much.
Heads up is essentially a crapshoot, you want to shove with more hands and open raise with more hands, since most of the time you're against
random hands. There's no full ring here, so aggression is key.
Bet sizing is generally
x2 bb to allow you for more aggression without depleting your stack.
Effective stacks (the smaller stack of the two) under ~10 blinds (or a bit more) are essentially in push/fold range; never raise in such cases, either shove or fold.
There are many push/fold charts on the net, a good one is this.
You want to raise the
SB/BTN with many cards since you'll have position, while trying to have initiative on
BB by re-raising or raising a complete since you wont have position for the rest of the hand. This depends on your opponent or your skill post-flop anyway.
There is a ton of resources for Headsup play. Collin Moshman (the SNG wiz) wrote a book exclusively for Heads up play if you want to dig deeper, but you can find free video everywhere. Personally, i like to watch HU matches on pokerstars.