以前に、(X)HTMLの<pre>の中でタブ文字を使いたいなら、	に置き換えれば、全く問題が無い。というような記事を書きましたが、どうにも私の間違いだったようなので、訂正します。
はてブのコメントを読んで、間違いだと認識しました。
コメントの内容だけでも十分な気もしますが、ちょっと解説してみます。
”暗黙の何かでもあるんでしょうか” HTML 4.01の仕様においては、pre要素内でのTab文字の使用を避けることを強く推奨するとの記述があります。 http://www.w3.org/TR/1999/REC-html401-19991224/struct/text.html#h-9.3.4
まさか思ってリンクを見たのですが、たぶんこれのことです。
The horizontal tab character (decimal 9 in [ISO10646] and [ISO88591] ) is usually interpreted by visual user agents as the smallest non-zero number of spaces necessary to line characters up along tab stops that are every 8 characters. We strongly discourage using horizontal tabs in preformatted text since it is common practice, when editing, to set the tab-spacing to other values, leading to misaligned documents.
つまり「タブ文字の幅は、それぞれ自由に変更できるので、誤った配置の文章の原因になってしまう。だから、PRE要素の中でも使わないことを強く勧める」みたいなことが書かれています。タブの幅には決まりが無いので、タブの設定次第で、同じ文章でも表示が変化しますからね。
細かいようですが、理想のHTMLとは「どんなパソコンからでも同じように表示できる」ことなので、そんな発想から行けば、自然なルールです。
要するに、	に置き換えても、タブを使っていることに他ならないので、ブラウザによって表示が変わってしまいます。
たとえ、Another HTML-lintで100点になったとしても、ブラウザによって表示が変わるという問題が残っていて、完璧なHTMLには反するようです。
詰まる所、タブはスペースに置き換えるしかない、ということのようです。