I don't want factions to be a direct player choice.
I want each faction to have a set of values, and as you complete missions and perform other in-game actions, your reputation with these factions changes.
Some, if not all, of these values should be mutually exclusive, so that you cannot appease all factions at the same time.
Only after you've gained a high enough reputation with a particular faction are you invited to join.
That way, your faction membership actually means something about how you play the game.