Prática recomendada para otimizar o carregamento de javascript

Eu li alguns artigos on-line sobre como otimizar o carregamento de javascript. Alguns pontos-chave que obtive foram minimizar o número de arquivos de script (solicitações http), diminuir e habilitar o gzip no servidor. Atualmente, o que é feito do meu lado é que todos os arquivos javascript são minificados, e o gzip também pode ser simplesmente ativado.

Parte 1)

Meu problema é que eu tenho cerca de 20 arquivos javascript, há um common.js que tem todas as funções principais. Além disso, cada página carregaria pelo menos um outro arquivo que implementa a funcionalidade dessa página.

A solução 1 é combinar todos os scripts em um grande arquivo de script e ser carregado uma vez para cada cliente, o que parece ser o que todo mundo está fazendo. Eu acho que YUI ou JSMin podem ser usados ​​para compactação, então eu devo combinar os arquivos manualmente?

Solução 2, carregamento lento quando uma função necessária é necessária, eu realmente não sei como isso funciona, mas parece ser uma maneira de fazer isso, embora ainda exija mais solicitações de http. Eu adoraria ouvir qualquer entrada para isso.

Parte 2)

O aplicativo da web em que estou trabalhando será implementado em muitos outros computadores, já que os javascripts são muito pequenos, é uma boa prática fazer um script que carregue dinamicamente o script mais recente de um servidor central, para que cada cliente execute o script mais recente ?

questionAnswers(3)

yourAnswerToTheQuestion