ну от нескольких скриптов избавиться то проще - в один запихать и if-ов побольше наставить.
Я писал похожее, когда на сайте покупали или приостанавливали доступ к пакетам.
В оригинале скрипт запускался раз в час например. И если пользователь купил после обновления - ему приходилось целый час ждать, пока обновится.
Так же если пользователь приостановил - вернул деньги, он мог почти час еще пользоваться, пока скрипт не запустится.
А каждый перезапуск системы вызывал притормаживание у тех, кто оплатил и пользуется.
Сделано было так, что при выполнении операций пользователем (покупка, остановка, смена логина пользователем или пароля) на php у меня дописывался текстовый файл со временем, когда пользователь произвел операцию и какую (типа лога для себя).
А крон смотрел дату изменения этого файла и если она делал другой файл со верменем, когда он запускался. В скрипте сравнивалось время когда скрипт выполнялся и когда последний юзер что-то менял. И в случае необходимости выполнял обновление.