A melhor solução parece ser adicionar uma string de versão às suas solicitações.
javascript.js?v=xxx
Sempre que o arquivo é alterado, atualize a string de versão. Naturalmente, a string de versão não precisa fazer nada e sempre apontará para o mesmo arquivo. O navegador irá recarregar o arquivo javascript. A vantagem aqui é que você pode definir o tempo de vida do cache muito alto para reduzir a carga desnecessária também.