So, I don't know about the original poster, & it seems to be a little different from language to language, but even that wouldn't work 100%. I don't always know when I first write the code if I'm going to need an else block. In these cases, sometimes (but not always?) adding the "} el..." will indent the else block, regardless of whether or not there's code in the if block.
Really, it seems the solution would be to just not auto-indent lines that already have text on them. But I want to keep the rest of the auto-indent & smart-indent behavior, at least for new lines. But for all the indentation preferences I can't find something like that.