One thing I found was that Blogger likes to put "<br>" elements in any "<pre>" code, so I wrote a little javascript to replace them with newlines:
(function(){var pres = document.getElementsByTagName('pre'); for ( var i = 0; i < pres.length; ++i ) { for ( var br = pres[i].childNodes.length; br > 0; --br ) { if ( pres[i].childNodes[br-1].nodeName == 'BR' ) { pres[i].replaceChild(document.createTextNode('\n'), pres[i].childNodes[br-1] ); } } }})();