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.
http://code.google.com/events/io/2010/sessions/gwt-html5.htm...
Cappuccino uses UTF strings for data, but I wouldn't say "has to resort," it's actually a great experience for both the developer and the user.
Although they don't really have such fancy loading bar. Whereby I really prefer such a simple one.