I set tab to call auto-indent or the language formatter on the code. I literally hit tab once to insert whatever is the defined standard for the file. So my single tab key press inserts or removes exactly the right amount of white space.
It's a holdover from my emacs days; the one thing I could not give up from emacs...