А есть ли
данные по распределению времени спустя которое пользователь приходит с момента рассылки?
Нужно учитывать также и время, наиболее оптимальное для пользователя. Вот, пришла ему рассылка в неудобное время. Что будет делать пользователь? Или проигнорирует её вообще или отложит сеанс на потом.
Для расчёта оптимального времени нужно знать среднее время сеанса пользователей и тогда, поделив кол-во пользователей на среднее кол-во возможных поочерёдных сеансов в сутки, получим скорость в кол-ве одновременных пользователей в один сеанс. Оно и является скоростью для рассылки пользователям.
Тогда нужно наладить рассылку с периодичностью согласно скорости рассылки.
И, возможно, нужно подумать также о том как решать проблему с одновременным посещением пользователей. Почему бот упирается в лимит и какой именно? Вычислительных ресурсов не хватает? Чего-то другого?