Зависит от задачи. Если этот JS надо выполнить до загрузки остальных скриптов и элементов (например нужно создать для старых версий IE, какие-то html5 элементы), либо если скрипт совсем маленький, тогда лучше в head. Если это нечто большое и страница спокойно может отобразиться (не путать с работоспособностью) без этого скрипта, тогда в отдельный файл и загружать этот файл вконце документа перед тегом </body>