Где в HTML правильно подключать скрипты к странице?
It depends.

Страница отображается в браузере по мере загрузки. Если в ней встретится скрипт без спец. атрибута типа async\defer отображене будет остановлено пока не загрузится И выполнится скрипт.

Вот собственно почему советуют сдвигать скрипты вниз. Но если без скрипта у тебя ничего не заработает, то это не имеет смысла. 

При указании же соответствующих атрибутов, загрузка будет происходить в фоне, а потому, опять же, логично размещать скрипты выше - чтоб она началась раньше.
Ну и вопросы пошли. В боду только пишут, если есть какая то манипуляция с дом элементом. Гугл аналитик к примеру в хеад добавляют. фонт авесоме так же в head.