RE "move the js file to the bottom of the page": I'm skeptical this will help, really, if you are using jquery to render the page. What we're trying to do here is not game the PSI score. It's to make your page faster on first load. And if your web-site must load
https://ajax.aspnetcdn.com/ajax/jquery/jquery-2.2.0.min.js before it can render, it doesn't really matter *how* you load it, it's going to have to wait for the file to be downloaded & parsed before the user can see anything.
PageSpeed will probably ding you for that irrespective of the mechanism you use to load the JS.
My 2c: you need to figure out what you want to optimize for: developer convenience or user experience. Optimizing for both is hard. jquery is cool and easy to use, but it is a framework and will slow down your initial render. Check out
http://vanilla-js.com/ for an opinionated take on this.
RE "
append the css file to the head with js at the bottom also": see the snippets in https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery to help you do that effectively. But beware that this may not help either, depending on how your CSS is structured. If the CSS you are delay-loading is critical to the initial page view, you are not really going to help your users by doing this. In fact, your web page may display quickly, but without correct styling, until the CSS eventually is loaded. I'm not sure if that will improve your PSI score but it will likely be a bad user experience.
To do this well, you need to split the CSS into critical and non-critical sections. Inline the critical sections into the html head, and delay-load the non-critical sections from an external file. This is not easy, particularly with a framework-provided CSS file, but if your plan to provide the best possible UX it's the best way I know.
-Josh