Вы можете либо попросить людей отказаться от подписки, сделать это желательно, возможно, фиктивным ежедневным событием, которое говорит: «Больше не обновляйтесь, пожалуйста, отмените подписку»
ИЛИ
принудительно отмените подписку, вернув соответствующий http возвращает код запрашивающей системе - вероятно, 410 (ушел), а не 404. 410, согласно его описанию, является наиболее подходящим: «URL больше не существует, и условие, вероятно, будет постоянным». https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/410
URL может предлагаться для пользователя. Убедитесь, что он возвращает 410 в конце срока службы (не просто пустой файл)
Принимающие устройства не просто тихо отписываются от URL. Обычно они показывают ошибку. В идеале человек должен отписаться. Возможно, электронное письмо с краткими советами о том, как отписаться, может быть лучшим в вашей ситуации? по крайней мере, тогда вы сказали им.
Я считаю, что даже для себя в моем приложении-календаре много URL календарей мусора. Если бы я начал получать ошибки, я отменил бы их подписку (или, если бы были события с мусором, я мог бы отменить или «скрыть» ее.
Другие способы передачи информации запрашивающему приложению, которые могут снизить нагрузку на ваш сервер:
Последнее изменение в шапке https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Last-Modified https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Retry-After (нет 'никогда'!)
Есть также неофициальные (не RFC5545) расширения, которые можно включить в файл ics: например: X-PUBLISHED-TTL - рекомендуемый интервал обновления для подписки на календарь. Можно сделать этот интервал действительно длинным. См. https://en.wikipedia.org/wiki/ICalendar#Calendar_extensions