You don't want the qualification criteria to be too arbitrary, as it runs the risk of confusing a lot of managers if they are in the B3 when they weren't expecting it (or vice versa). It won't achieve it's intended goal either, as even league and cup winners may have sold up by the time the following B3 happens.
You might not be able to eliminate scrub/also-ran teams from the tournament entirely. All that can be done is to provide the best chance for 128 worthy teams to qualify, based on a consistent set of criteria that primarily rewards performance from the previous season (hence the transferring cup winner berth to league runner-up if one team does the double suggestion). World ranking is fine in some situations, but it is also based on 2-season performance, increasing the chances that a high ranked team is past their prime by the time they get the invite.