this problem is named FOUC (Flash of unstyled content). It is mostly associated with IE and Safari.
I dont really have a fix to suggest, but I can direct you to some reading that will help your understanding of what is going on:
A couple things I would look for are images or tables that do not have a width set. Or using percentage based widths in your styles on child elements.
If the width of an image is not set in the image tag, the browser needs to completely load the image to calculate the width. this can cause a pause in applying styles to it.
same with using percentages for height or width on child elements, the percentage cant be calculated till all of the page content is loaded