Na pewno trzeba ładować zasoby asynchronicznie - skraca to czas "ładowania się strony", Pasja Informatyki na swoim kanale, w tym Shorcie pokazuje różnice pomiędzy ładowaniem asynchronicznym a "normalnym" . Wbudować CSS i JS bezpośrednio do HTML - można, lecz gdy plik nie jest duży, oraz nie pamiętam dokładnie, ale chyba semantycznie też źle to wygląda.
zmniejszyć rozmiar HTML-a potrzebny do renderowania.
Jeśli masz elementy html, które mają np. display:none, to rzeczywiście, nie warto umieszczać takiego kodu na serwerze produkcyjnym. Pzdr