Been reading through all of the suggestions here and have come to the conclusion that keeping the expansion draft as simple as possible seems the way to go. My suggestions (taken from existing comments):
Each new franchise gets to select one player each from every existing squad - O or D it doesn't matter (12 players each to kick off proceedings)
Each existing franchise gets to protect x amount of players - one flat number with no position designations - what this is TBC - my initial stab in the dark is 6 each
New franchises take on existing contracts of the players they select - salary and years (this is a huge component of the game and allows the new franchises to set themselves up to make up ground on the other squads in FA)
Rookie contracts are not protected automatically - each team protects x amount of players regardless of status
Happy for new teams to take slots 1 and 2 in the rookie draft - maybe snake this for them each round?
Once expansion draft is over, all remaining players on their respective squads stay there - ie not all leftovers go back to free agency. This means that those of us who signed shit deals don't get a free out and we either cop the player or take the cap hit when we cut them.
All taxi squad players are protected and not included in the quota of retained players per squad
New franchises get an extra pick at the end of rounds 3,4,5 and 6. That gives them a total of 16 extra players the other squads don't have and not a bad starting base heading into FA. The majority of existing squads have more than 18 currently on the roster, so even the thinnest of rosters end up with 16 players pre rookie draft. (based on squad estimates as of tonight).
These are just my suggestions taken from others previously in the thread. I'm flexible as to how this plays out and I think after year 1, if things were not done quite as even as we anticipated, then we extend the extra draft picks in the latter rounds for the new additions or offer some other proposal to even out the field perhaps?