A lot of the problems start with IPTV players which want EPG.
Some of these can be configured, to retrieve EPG each time you switch a channel. Since each of our files contain a number of channels (some over 300 channels) so each time you request one of these channels, the complete file is being downloaded. Up to 300 times, if you start zapping.
Secondly, Kodi EPG plug-ins can all be setup to download EPG at regular intervals, like once each hour. Which is overkill as the EPG is refreshed only once a day in the morning.
Teaching all Kodi adepts to only download the EPG once a day is likely to be impossible.
Rytec EPG has 69 XMLTV files.
Most user can do with selecting less than 20 files. But there are always guys who will select the lot.
Why not set a limit how much files each IP-address can download in a day. Once the limit is reached, the IP-address will be blocked for the rest of the day.
f.i. a limit of 40 files per IP-address would be enough for each user. There are 5 mirrors, so if one blocks them, they can download 40 files from each of the other mirrors. (if all the mirrors have the same limitation)
I am no network specialist. So I do not have any idea how to implement this.