It all depends on the structure of your application. In general, I keep my SWF files very small, and dynamically load ALL assets - fonts, XML, images, etc - as they are needed. This means I may have more "small" preloaders as users request content, but my movies usually have little wait-time to get started.
Think of flash player like a web browser, a place to organize and layout loaded content. Try not to embed anything that can be loaded later!
Also, I often will load elements in the background before they are needed while the user is occupied with content.
I usually use the wonderful Bulkloader class for asset loading.
As you can guess from my advice above, I also don't use the timeline. Writing your SWF in pure AS3 and animating your sprites via a motion library like tweenlite greatly reduces file size.