SWFObjectで一瞬divタグ内が見えるのを回避する方法

最近良くやってるのがこんな方法。

<div id="movieBox" style="width:640px; height:400px;">
    <noscript>
    <p>本サイトはJavaScriptを利用しています。JavaScriptをONにしてご覧下さい。</p>
    </noscript>
</div>
<script type="text/javascript" src="swfobject.js"></script>
<script type="text/javascript">
//<![CDATA[
    var so = new SWFObject( "myFlash.swf", "myFlash", "100%", "100%", "9", "#ffffff" );
    if( ! so.write( "movieBox" ) )
    {
        document.getElementById( "movieBox" ).innerHTML = "最新のFlash Playerをインストール下さい。";
    }
//]]>
</script>

説明すると、

  1. Flashのバージョンが足りない場合はif( ! so.write() )の条件が実行されて、divタグの中に「最新のFlash〜」の文言が挿入されます。
  2. そもそもJavaScriptをオンにしていない場合はnoscriptタグの中が表示され、JavaScriptをオンにするよう催促します。
  3. バージョンが足りている場合は、so.write()が実行され、divタグの中にobject/embedタグが掃き出されます
  4. Flashの幅と高さはdivタグのCSSで設定してます。new SWFObjectの幅と高さの引数は100%にしておけば、コンテンツ毎に直す必要がありません。

結局これだとSWFObject利点のXHTMLバリッドで記述してSEO効果も保つ、という技が成り立ちません。でも、商業的には一瞬表示されるのはクライアントNGとなる可能性があるので、上のやり方が現状ベタ−だと思ってます。もっといい方法あったら教えてください。