Actually I think I remember learning this back in SCCC.
You should put scripts that are not essential as low as possible. (Right above the body).
Another solution is to use the HTML5
async attribute. This will allow the browser to fetch the script, but continue parsing and rendering HTML, without waiting for script to complete.