Я использовал что-то вроде тебя в первом варианте. Начните со времени по умолчанию перед получением канала. Если найдены новые предметы, уменьшите период ожидания на 10%, в противном случае увеличьте на 10%. Выполняйте эту адаптацию с каждым обновлением, и система подстраивается.
Вы можете использовать разные проценты, например, уменьшите время, чтобы лучше реагировать на изменение частоты обновления.
Включите минимальный и максимальный промежуток времени для ожидания в заданном диапазоне.
Это не идеально, но было достаточно хорошо для меня.