Да вот так вот пишите
<script src="путь" defer></script>
Атрибут defer включает режим асинхронной загрузки скрипта (т.е. загрузка скрипта не мешает загрузке документа), а также он выполняется только после того, как был подготовлен html документ.
В JS можно так
document.addEventListener("DOMContentLoaded", function(event) {
// документ готов, можно работать!
});