This isn't what I thought you were going to end up asking heh
The optimal size of a league is really a matter of taste, and depends a lot on how intense your owners want to be. What I *thought* you were going to ask was how to fairly add new teams to an existing keeper league. My keeper league has grown twice (once from 12 to 14, and once from 14 to 16). The first time we held an expansion draft; every team could protect like... 3 guys? It was a while ago. When one of the expansion teams grabbed somebody from your team, you could then protect 4 or 5 more, and then again if you lost a 3rd player. I forget. Whatever it was, the numbers were picked so that the expansion teams would be at a disadvantage, but not a horrible disadvantage. So say my league had 12 teams and was adding two. You can figure that would mean that each new team would end up with something like 6 "number 4 guys", 6 "number 9 guys", etc. etc. So an existing team would have
1, 2, 3, 5, 6, 7, 8, 9, 11, 12, 13, 14
for their first 12 players, and an expansion team would have something like
4, 4, 4, 4, 4, 4, 10, 10, 10, 10, 10, 10
for their first 12 players. For an existing team, after 12 players, their average player would be about a "#7.5 guy", and an expansion team's average player would be about a "#7 guy". That sounds too kind to the expansion teams, so that probably isn't exactly what I did, but hopefully you get the idea.
The second time we took it as an opportunity to redraft and revamp our rules. One of the downsides to our keeper league is it is tough to change rules; almost any rule change is met with, "Whoa! If I'd known we were going to do THAT, I would never have protected Soandso" etc. etc. So all our rule changes get pushed out an extra year to let people adapt.