Take a look at Lithuania. Currently there are 669 active teams which is enough to fill 42 leagues, all of D.I, D.II, D.III, and 21 leagues in D.IV.
If you look a the high numbered leagues in D.IV, they are almost entirely bot-filled. They will nonetheless have a playoff winner, that will be promoted to D.III. A team that is being relegated from D.III may be an active team, in which case that team will face 11 weeks of playing against bots.
It doesn't matter that the bot that promotes will be instantly relegated as part of the bot cleanup. The active team has already been placed into isolation in IV.52 or a similar league.
Promotion/relegation is divided into 3 steps: (1) Determine which teams promote/relegate; (2) Determine which leagues they are moved to; (3) Swap the promoting and relegating teams.
In the simple version, step 1 would remain unchanged, 4 teams relegate from each division, and 1 team promotes. The 2nd step would be changed. If there are any bots being relegated, they will be sent to higher numbered leagues. Active teams being relegated to the lower numbered leagues in D.IV.
In the more complex version, an attempt would be made to not promote bots in the first place, since they are going to be relegated immediately. So you initially determine the 64 champions of the 64 leagues in D.IV. If any are bots, you pick another active team, which would be promoted anyhow as part of the bot cleanup. You have to make sure that there are 64 active teams in D.IV, in the rare cases where this is not true, you can simply relegate fewer teams from the higher division. And after you determined which teams promote and relegate, you would still try to relegate bots to the higher numbered leagues.