im sorry but you probably misunderstood what i tried to say, which is my fault i admit..
i dont know how google can examine your php/whateverserversidecodeyouuse, what i meant to say was as simple as when your code is a quality one you dont need to install/configure/run/log/test dozens of apache/wp/js modules which only purpose is to correct your crap code... (code is not html sent to browser, its a program written in your server side programming language: php, java, js, python etc)
varnish/caching is as Disney would say a totally different world having nothing to do with putting js in the head vs bottom of the page, if you need to use one more apache module to accomplish that simple task that just says a lot about quality of your code
I think this is a good learning opportunity for everyone to go over what mod_pagespeed accomplishes.
No, it does not fix your server side scripting such as your programming languages of PHP and Python. This can take forever to render the final output that an end user sees. Once the output is rendered, it is cached as a static file server side, never to be processed as multiple threads again as it once was.
However, it does minify your static JS files to be compliant with Page Speed and places them accordingly within the rendered code for both mobile and desktop systems.
The final output are static images in various formats for optimal speed (JPEG, PNG, WEBP, etc.), CSS, JavaScript and html files which are served instead of going through the 30 second loop you caused by having 20 active WordPress plugins and a poor theme. With that being mentioned, it will only happen once, unless the page is changed.
Varnish and caching have nothing to do with putting Javascript in the head or in noscript tags, unless it's deemed necessary to be there for functionality of above the fold content. Otherwise, all CSS and Javascript is automatically put into the footer to load on execution. This can be accomplished by a human using multiple tools such as an online minifier, etc., but will take much longer to implement it correctly to pass in order to get good cookie points with Google.
I could toss up an example page in 1 second and within 3 refreshes, the page will surpass what a human can do in 8 hours if you'd like (as it doesn't hog all resources to do it at once).