Вынужден себя поправить: лично я для таких больших интервалов использую не setInterval, а setTimeout, иначе накапливается слишком большая разница (для моих задач) м/у планируемым и реальным моментом запуска функции. С помощью setTimeout я делаю предварительный запуск, который оценивает накопившуюся разницу и вслед за этим запускаю еще один setTimeout, теперь уже для рабочей задачи.