What I have found is js and jq functions need to be called and it makes no difference where they are placed normally(please notice my use of non-committal words. Because nothing is ever written in stone.) I usually place them in the header so I can see what going on as soon as I start to read the code.
I did put some links and script calls in the header and that's Ok. Besides the calls I do have executable js code, but that is bounded by the $(document).ready(function() and wont execute until the page is loaded.
Every programmer has his/her own style. That's mine. It is subject to change.
Evolution - The non-random survival of random variants.