With regard to the faction dispositions toward one another, all I can say is that if they are, indeed, hard-coded then not only do we have no way to tell that is so but also there's nothing we can do about it.

I am more inclined to believe that certain factions always go to war with one another for the simple reason that they share borders at the beginning of whichever Era you care to pick. Expansion is on nearly every faction's agenda, so it's going to happen sooner or later.

Failing that, then rivalry over trade routes can spark a naval-only conflict between factions which aren't immediate neighbours.

The Muslim factions have the Crusades coming in their direction so there's a certain inevitability about those 'non-neighbour' wars as well. Same again for eras where "Crusader states" are in existence right from the start and can't keep pace with troop numbers in surrounding lands. The AI tends to attack wherever it perceives weak opposition... (Sun-Tzu coding, carried over from Shogun, like as not)

Other than all of that, the only aspects which are remotely moddable are the faction "character types", which are initially set in the startpos file for the era but are apt to change as the game unfolds, according to how successful (or not) they have become.

For examples, the English start out as "CATHOLIC_CRUSADER_TRADER" (largely self-explanatory) but the French start out as simply "CATHOLIC_EXPANSIONIST". All that guarantees is that they will try to take land off either England, HRE, Aragon, or Spain, at some point. The fact that they will, eventually, start Crusading or - occasionally - build a navy, is a sign that conditions were right for them to 'change personality'. The Byz start in Early as "ORTHODOX_STAGNANT" but, within years, they're rampaging across the Steppe...

So, the very most you can do is to alter a faction's personality as at turn one of the particular era your mod applies to but this is unlikely to last more than a few years.