I had this same issue when playing with a friend. Wanted to add some 60+ randomly generated XML factions and home systems to my multiplayer experience.
Note that the way mods work in this game is by temporarily replacing or injecting YOUR MOD XML into the BASE GAME XML. XML is added and overwritten while the game is in session, but does not actually affect the base XML that the game uses for default play. Know this, all you need to do is, edit the base xml which can be found in your galciv 3 folder under data I believe. Note that some files will need to be merged manually, and you should keep copies of the originals to revert changes. If both players do this exactly the same, you can play multiplayer with your mod active.
A couple important notes:
- I have not tested this extensively. I only know for certain that it works for FactionDefs, StarSystemDefs, PlanetDefs, GamePacingDefs, and Text labels. I dont see a reason for it to not work with any XML.
- I have no clue whatsoever what occurs when you try to play together with DIFFERENT base XML. No idea. Ideally it tells you that your game is corrupt or something, worse case it lets you place and crashes some point halfway through a 30 hour game when you get a de-sync. Just make sure you have identical XML, otherwise who knows what will happens.
Given that there is no technical limitation to mods in multiplayer (at least pure XML mods), I'd love to see mods be enabled by an option of sorts to avoid this messy fix.