First time poster (huh; guess I can use my Impulse account to post here).
I think I've found a way to fix this. Was looking at my custom races' .xml data, to see if there was anything different from the coreraceconfig .xml which has all the original races, and I noticed one thing:
For the original races, all of them had 'Good' or 'Evil' Alignment tags. For all of my custom factions, they were automatically set to 'Neutral'.
So, I connected the dots, and changed it to Good and Evil where appropriate. And then they appeared as selectable opponents.
Hope this helps.
Note: While you're editing their alignments, you might as well set the sovereign associated with them via the sovereignunittype, else it'll default to Lord Relias. Dunno what would happen if all of them would have Lord Relias, haven't tested. Just copy the name of the .xml file of the custom sovereign you want to link it to.