The reason why the software doesn't automatically try to exactly balance how many times each questionnaire version is completed by respondents is that it really doesn't matter very much from a statistical standpoint. If you have 300 versions of the questionnaire (the default in the software), and some of the versions are filled out 3x by respondents and some only 1x or 0x, then for all practical purposes, the statistical efficiency of the design overall is not much different than if each version was completed by exactly the same number of people. You can test this out with synthetic data to prove to yourself.
Even with a design with only 4 versions/blocks, it doesn't harm things very much (from a statistical standpoint) if one version is completed 2x as many times as another version. These situations are very robust to imbalance in the number of times each version was completed.
(These statements are made under the assumption that Sawtooth Software designs are being used, where within each version of the questionnaire, each level appears nearly an equal number of times and each level appears with every other level nearly an equal number of times. In other words, the designs are nearly balanced and near-orthogonal within each questionnaire version/block).
So, doing so much work to try to exactly balance the number of times each version is displayed is putting a lot of effort into something that typically does not matter much at all for the precise estimation of utilities under aggregate logit, latent class, or HB.