Как правильно написать бота вк?
Можно использовать например 3 вк приложения, которые будут работать с разных токенов и с разных ip, получается пауза между запросами уменьшится до 1/9 секунды. Так же использовать асинхронное выполнение, один поток (программа) будет получать сообщения и частично обрабатывать и уже передавать информацию второму потоку (программе), который будет готовить ответ, это нужно чтобы бот получал сообщения даже во время того как готовит ответ на другое сообщения. Можно использовать очередь, чтобы первый поток получал сообщения, добавлял их в очередь, получал сообщения и т.д. А второй поток если находит в очереди что-то, то обрабатывает, готовит ответ, отправляет, смотрит очередь и тоже по кругу.
Я бы на вашем месте сделал боту нагрузочное тестирование, а уже потом думал, стоит ли его улучшать...
Слишком частые запросы легко исправляются таймаутом между запросами... Сделайте очередь, добавляйте туда задачи, и обрабатывайте их поочерёдно. Это как хороший вариант