You could show an overlay saying "loading..." and hide this the moment the downloads are complete.
<html>
<head>
... a bunch of CSS and JS files ...
<script type="text/javascript" src="clear-load.js"></script>
</head>
<body>
<div
style="position: absolute; left: 50px; right: 50px; top: 50px; bottom: 50px; border: 3px solid black;"
id="loading-div"
>
This page is loading! Be patient!
</div>
... Your body content ...
</body>
</html>
Contents of clear-load.js:
document.getElementById('loading-div').style.display = 'none';
Of course, you could also tack the javascript code that hides the div at the bottom of the last javascript file that's loaded.
Also, try to pack your javascript and css files into one file and apply gzip compression or "minify" to them. You can bring 500KB of javascript in 20 requests to 1 request of less than 100KB if you do it right.