Без заполнения отсутствующих данных решения нет и быть не может. Экспоненциальное скользящее среднее дает меньше и меньше веса для данных которые отдалены по времени и соответствено большие веса для последних дат (в пределах окна). То есть это всего лишь один из методов нахождение среднего с весами для каждой точки данных.
Вы собираетесь решать задачу где вы не можете сформировать окна по причине отсутствия данных, это бесполезно, вы должны заполнить эти данные.
я читал про обработку неполных временных рядов - заполнение средним, интерполяция и так далее, но не знаю, стоит ли ими пользоваться - интервалы времени действительно очень большие, и данные зависят не только от времени.
Вот здесь вы дело говорите. Неполные временные ряды заполняют, средними или медианным в зависимости от дистрибуции, иногда ближайшими значениями (в вашем случае слабо верится это имеет смысл), экстраполируют (тоже специфический кейс слабо верится это имеет смысл).
Все остальное вы верно делаете стандартный слаживающий фактор все так, затем он будет использован для подсчета каждого индивидуального веса
w_i = (1 - alpha)^i
для каждой ваше точки данных в пределах окна. Просто вы ищете математического решения там где его нет, это вопрос как правильно заполнить недостающие данные.