Take your example, and branch it out, you want to pick between better shields and hull, but you also want to pick between better antimatter regen and movement speed, and better weapon range and damage.
You have three sets of decisions, but only one faction ID. Once you pick one of them, you're no longer the starting faction and can't pick any of the others.
You have to make a tree, one branch point at a time. You have to add a set of keys to the research list, and make the unlocked research require not the faction, but the particular key research, in order to be used. Your keys are going to have to be unlocked in a specific order though, each stage changing the faction to the ID the next stage needs to be researched, which throws a real monkey wrench into the design of your research tree.
For simplicity, you can put a set of research keys off by themselves, simple unlocks that open up the rest of the research field. But the AI can be pretty special ed about research, so this has the potential to work quite poorly for everyone but the player.