You expect website-creators to stop using ridiculously data-expensive techniques because a new tech comes out? Usually new tech implies the opposite.
The end of loaders (which HTML5 does not represent in the least. Just pre-load through JS with a % done) would be a bad thing, because you wouldn't know that the site would load within a reasonable amount of time. Coke's site could take 5 seconds or 5 minutes, and without a loader, what do you do? Stare at a blank page, wondering if it's working?
When your application uses a lot of assets, it's pretty much unavoidable, independently of underlying technology.
In fact, it's probably going to be worse, at least at the beginning, as JS currently lacks a good way to handle packs of binary resources.
Just check Google IO presentation from team that ported Quake 2 to JS [1]. Resource loading was a big pain point, they had to resort to pack data in UTF strings.
Silverlight also uses the browser cache. I'm surprised that Flash doesn't make use of it (if I had to guess I'd say it does, or rather at least it can).
Flash has used the browser cache since the inception of the plugin. In fact it routes all http requests through the browser itself, it has no built-in stack of it's own. (unless you're on the desktop)