It appears I'm late to the party - I found this thread because I basically had the same idea as u/gutemine, for a better IPTV EPG based on DVB-S/T/C data, except I didn't (and still don't) intend to process anything on the box besides the minimum to make sure that the epg.dat has all the relevant info.
This file would then be collaboratively shared/uploaded to a centralized location by various users, and then all the files would be parsed and the XML would be generated. This central location would keep the mapping from sid/onid/tsid (the key for EPGCache) to Rytec-standard(?) channel names and could then generate the necessary XML feed(s). My idea would also include some remapping of channel id to tvg-id, on a per user basis, but this isn't essential to be centralized, and could be achieved on the user side in various ways.
I have some very basic Python code I intend to use (but not in an E2 plugin), currently just a translation of the code in the OpenATV epgcache.cpp file for load() methods and it seems to be working fine, more details to be ironed out once I have the time.
I'm also trying really hard to not go peek at the EPGExport plugin code, at least until I have finished some PoC :-)