Thanks for the detailed response on the missing portrait issue. One of the completely blank factions (FDS) was not loading in the .log, whereas one with about 20% missing (pirate) was. I put the new portraits in the core graphics/portraits folder instead of the mod I created, and edited the original .faction files instead of using extra ones as you do for altering existing factions with other mods. Seems like that fixed it. I also tried portraits in core and keeping the extra .faction files, but that didn't work. I guess it comes down to the extra .faction file not being added to the original one properly for whatever reason. It'll be a pain to update, and not being able to share it is a shame (even though it's just a mashup of other portrait mods), but oh well.
I understand why a faction mod like FDS might have some typo or alternate structure/code/whatever that my non-modder brain can't recognize, but the pirate case is beyond me. Every portrait was loading in the .log, so the extra .faction was working, yet something was breaking them... but only a few... truly mysterious. I'm 99% sure there was no blunder with the names or .faction files since I stuck to templates, bulk renaming, and text replacing. The only explanation I can think of is that the core portraits take priority when it comes to this hypothetical limit, and all I've done is make others not load instead. I'll update when I get around to switching everything over.