Há uma grande diferença entre um script que entra em um loop ou espera em um servidor na Web. Normalmente, é o segundo caso que causa erros de "Script não respondendo".
O Firefox não tem como saber a diferença entre um servidor Web que não está respondendo ou está apenas lento. Portanto, há alguns mecanismos de corte do tipo guilhotina, como dom.max_script_run_time e dom.max_chrome_script_run_time , que especifica quanto tempo ele está disposto a esperar antes de cancelar o script e qualquer conexão que possa estar aguardando no momento.
Esse tipo de mecanismo é muito perigoso de usar. Por exemplo, ao comprar um item na Web, o site de pagamento on-line pode demorar a reagir, por isso o Firefox apenas cancelará o script e a conexão com resultados desconhecidos em relação à sua conta bancária.
O que eu estou tentando dizer é que se livrar desses erros de "Script não respondendo" pode ser pior do que os próprios erros. Talvez seja melhor usar uma extensão como NoScript para não permitir todo o JavaScript em todos os sites que você visita exceto aqueles em quem você confia (ou pelo menos não permite o uso de javascript de terceiros). Este é, na verdade, um mecanismo de defesa que você e todos devem usar contra vírus drive-a-navegador.