Letting people pick was your biggest mistake. Obviously a captain is going to pick someone they play with, and if they're both good their team is already ahead of the curb no matter how much you try to offset it with worse players. Shoulda had 4 tiers, drew random names out of a hat or something, one person from each tier, there's your teams. You should have also had a cutoff for number of participants and everyone else interested after that should have been backups, because there will be people who can't make it inevitably.
Just my 2 cents!
Pretty much.
Then again, hindsight is always 20/20