Please WordPress, please, please leave the HTML editor code completely alone.
Please stop adding <p> tags around inline elements that are standing on their own line. An inline element standing on its own line doesn't mean it's not properly wrapped in a block element if the block element happens to open and close on the lines above and below the inline element. Nicely formatted code sometimes demands this.
Please stop adding <br /.> tags all over the place.
I've tried all the "stop wordpress autoformatting" plugins and "raw html" plugins but they don't work for the situations described above. They stop WordPress from taking out <p> and <br /.> tags, but they don't stop WordPress from putting spurious ones in.
If we are using the HTML editor, we are doing so because we want full control over our code. Please give it to us, and let US suffer the validation (or whatever) consequences for not following coding rules.
By rewriting our code, you're essentially telling us we're stupid, that we don't know what we're doing, and that you know best. Those are not nice things to say, even if they are occasionally true.
Please give us full control over what goes in that HTML editor content box. Let us make our own mistakes, format things how we see fit, get back the WordPress love.