Imo, I don't think that would work as well. If we consider just lowering the cap, that wouldn't have affected the situation Senet got into in Dangles. He had over 50 guys, but kept adding more as there was always somebody that could be sent down and last I checked, while he had over 50 guys, he had over 7m in free space remaining. A different % would make a better than reducing the salary cap difference, but then at a number like 50% I see teams being forced between having some decent backups and a small prospect pool or else a decent prospect pool and some weak, injuries take me out of the competition, backups. I think managers should be able to have a chance to acquire a decent prospect pool and some viable backup players. A lower % than 50% would definitely work, but it'd take some trial and error to get perfect.
With a roster limit, we can just check for teams that strike a good balance between the regular roster players, prospects and backup players but don't have an enormous number of players and then decide what the cutoff should be. Looking around at teams, I'm agreeing that a limit of 40-45 guys would be good.
I don't think it would at all limit promoted teams from sticking in the new league. If they gave away 1-ways and promotion clauses like candy and are forced to hit the roster limit and still not have a viable team in their new league, then that was bad management in the previous year and they should suffer the consequences of too many bad contracts. If they just barely sign enough viable players, then they'd be in a similar situation to a team that might have a preference of many strong backup players rather than lots of prospects which would be a competitive team. If they didn't give anybody promotion clauses or 1-ways, then they'd basically be rewarded by being able to do what they want in the first season.