However, if someone has a larger file, or the user has a slow connection, on some browsers, it will not render the page until it can block out the image correctly on the page
You are talking about my grandma who uses a dialup connection, right?
My uncle upgraded her to high-speed, so we can all do video conferences over Skype.
I suggest you to use Nginx and cache all static files. Problem solved.
Actually, the size of the header image is a non-issue and all of this is redundant, as the container within which it lives has a specified height, meaning that page rendering can continue regardless of the downloaded state of the header image.