I've done a 'third variant' thing. Essentially, what I did was create a new Allegiance for a faction.
Look up the RaceConfig file for your faction, and you'll need to change this tag.
<FactionAllegiance>WhateverTheNameOfYourNewAllegianceIs</FactionAllegiance>
Then, assign this allegiance to your faction. Then, you'll need to figure out which Techs, Improvements and such have the Allegiance Prereq assigned, and create Similar Tech/Improvement (with a different InternalName) for your faction, using this tag.
<Prereq>
<Type>Allegiance</Type>
<Attribute>WhateverTheNameOfYourNewAllegianceIs</Attribute>
</Prereq>
So far, I've not seen too many consequences for this so far in my testing, other than the the fact that you'll need to create new, Allegiance Specific techs/improvements/etc. for your Allegiance (since Kingdom and Empire are now locked out)
This also gives you some new options r.e. the Traits trees. Essentially, assign your spiffy new trait to Allegiance:WhateverTheNameOfYourAllegianceIs (via the prereq tag above), and the Trait will appear on your custom faction's trait tree. Note that the Traits that are assigned to other Allegiances will NOT Appear. This is how Kingdom ends up with Wisps and Empire ends up with Skeletons on the Mage Tree. You can also us this to 'rebuild' various Trait Trees (General, Warrior, etc.), although you'll need to assign Allegiances to the Traits you are looking to lock out, if they don't have them already: This is how I was able to 'lock out' Strength, in order to upen up/replace that Perk Position for a different General Trait Tree Ability I've been working on.
<AbilityBonus InternalName="StrengthAbility">
<AbilityBonusType>Unit_Level</AbilityBonusType>
<AbilityBonusOption InternalName="Strength">
<Prereq>
<Type>Allegiance</Type>
<Attribute>Kingdom</Attribute>
</Prereq>
</AbilityBonusOption>
</AbilityBonus>
<AbilityBonus InternalName="StrengthEmpireAbility">
<AbilityBonusType>Unit_Level</AbilityBonusType>
<AbilityBonusOption InternalName="StrengthEmpire">
<DisplayName>Might</DisplayName>
<Description>+2 Attack</Description>
<Icon>Ability_Strength_Icon.png</Icon>
<PerkTreePosX>0</PerkTreePosX>
<PerkTreePosY>1</PerkTreePosY>
<Prereq>
<Type>Allegiance</Type>
<Attribute>Empire</Attribute>
</Prereq>
<GameModifier>
<ModType>Unit</ModType>
<Attribute>AdjustUnitStat</Attribute>
<StrVal>UnitStat_Attack_Boost</StrVal>
<Value>2</Value>
<Provides>+2 Attack</Provides>
</GameModifier>
<Type>Aggressive</Type>
<AIData AIPersonality="AI_General">
<AIPriority>5</AIPriority>
</AIData>
</AbilityBonusOption>
</AbilityBonus>
BTW, you can 'lock out' techs for a specific faction, simply by assigning a RestrictedAbilityBonusOption tag for that tech. As an example, DLC04 Undead did this:
<Techs>
<TechDef InternalName="Agriculture">
<Prereq>
<Type>RestrictedAbilityBonusOption</Type>
<Attribute>DLC04_UndeadFaction</Attribute>
<Target>Player</Target>
</Prereq>
</TechDef>
</Techs>
Which removed Agriculture from the Undead's tech tree. BTW, tagging an ability to restrict it can easily be done from the Mods folder (just create an .xml file with code similar to the above, as appropriate to what you are trying to restrict, and drop it into the mods folder).
BTW, you can try this approach for traits on the trait trees (restrictedability), but essentially (at least in my experience) it just 'greys out' the trait in question, but doesn't make it disappear completely. My guess as to why this happens is that the trait tree assumes that since it's an ability, you might end up with that ability at some point during the game, hence you MIGHT be able to get it at some point so it's 'holding out' for ya. However, as noted above, Allegiance flat adds it to the Path Tree if you share that Allegiance, and doesn't add it if you don't share the allegiance that is coded to the trait.
As for creating a new tech tree, well I'm not sure Primal's approach is bulletproof (my testing indicates otherwise). From what I've seen, while you can add techs to a tech tree, just removing them on your 'custom_techtree.xml' file isn't going to work, as the game will still 'fill in the blanks'.
Specifically, what I've seen is that a tech can still appear on the tree if it has at least one prereq (tech) that is on that tree, whether or not it is part of your custom tree (the game defaults to TechTree_Amarian for guidance), UNLESS it is locked out via the Allegiance or RestrictedAbility tag.
Primal, I am interested in hearing what you were able to find out on this, as I'd like to know what worked in your case and what you found that didn't work.
Also, you need to understand just HOW MANY INTERDEPENDENCIES there are on TechTree_Amarian at this point (there are literally thousands of them at this time). Many items, weapons, armor, spells, other techs and especially improvements have Tech Prereqs, so if you create a custom tech for your faction, and use it to replace an existing tech, you may find a LOT OF THINGS disappearing from your game.
So consider this carefully before you go willy nilly down the 'I'm building a new tech tree' path. I think you'll find that repurposing/redesigning the existing tree to your needs will be in some cases much easier than just building a whole new tree. Other modders have went down this road, and found out it ends up being a LOT more work than it appears to be on the surface, and often requires a LOT of extra code for the stuff you now need to 'create' for your custom/new techs.
This is why you currently don't see more than a very small handful of unique tech trees (other than those that modify the Amarian tree) from the Modding Community in E:LH. I'm sure this is why Stardock ultimately abandoned TechTree_Trog, as it required having to duplicate a bunch of code so it could work for the second tech tree. Why have two Definitions for essentially the same item throughout the various files, when it could be consolidated into one file simply by eliminating the second tech tree? In retrospect, it turns out to be much easier to just have one tech tree, and apply modificatons to that tree, and it reduces the code overhead by a huge amount (you don't need to have two versions of a lot of things with only one tech tree).
Of course, if your goal is to 'break' huge numbers of things ingame (make them unavailable), and WANT to create truly unique improvements, a radically different tech tree, a completely different list of spells, etc. to replace them with, then this might make more sense. We did have a Doctor Who mod in EWOM at some point, with it's own tech tree.