Еще парочку вариантов подкину:
1) запускать скрипт в вечном цикле, а раз в минуту проверять что он жив.
В вечном цикле дергать 30 адресов в минуту, если уложились то спим, если нет то продолжаем впахивать.
2) Запускать не 1 скрипт, а несколько. Или запускать 1 срипт который породит несколько потомков. Таким образом при помощи параллелизма мы добиваемся увеличения допустимого времени на ответ. Т.е. если мы запустим 30 потомков то каждому сайту будет отведено чуть меньше минуты на ответ.