Have you looked at zap2xml I pulls info from https://tvlistings.zap2it.com, plus with the -J switch you can merge it with another xmltv file. so basically you can create 2 accounts with zap2it and then make a script with zap2xml to download the first channel lineup, then run the next line with the -J option and download the 2nd channel lineup and merge the two.
I’m currently using this setup because there were a few channels missing the lineup for my postal code, so i used a different location to get the missing channels and get a complete guide.
Plus zap2xml properly handles multiple channels with the same channel # (ex: 12.1) unlike plex at this current time.