I'm optimizing a Flash website in order to load as quickly as possible, and in certain edge cases the SWF takes upto 10 seconds to load. There are no external assets except for the SWF file, and the only JS is embedded into the HTML page.
As this trace shows, the SWF request is sent by the browser only after the DOMContentLoaded event fires, which takes 8 secs. In most cases the SWF starts loading in about 2 seconds.

Is there a way to quicken the request latency? Currently the SWF is inserted with Javascript, using the SWFObject library, so only after the browser renders the HTML page does the JS execute and add the SWF tag into the webpage. What if I added the same SWF tag into the <head> section. Would this somehow preload the SWF causing the JS to get the SWF immediately when it executes later in the <body>?
Usually the rule of thumb in load-time optimization is to use as few requests (files) as possible. But the SWF file must be seperated from the HTML file. Or is there a way to embed it as base64 into the HTML, and have JS convert this into a file and load it as a Flash <object> tag instantly? I'm willing to try any tricks as long is its compatible/reliable with all browsers.
Specs:
Internet : I have an 5 MBit/sec internet connection, and I can ping the server in 280 ms.
Location : The webserver is in the US, and I'm currently in Mumbai, India.
Filesizes : 20 KB for the SWF, 5 KB for the HTML.