As a result, a business can't pay to train it's own work force
Well, they could offer more pay after the training is completed, or focus on being a nice place to work such that employees would choose to stay put with a company that treated them well. Your argument rests on the implicit assumption that employees will leave the moment they receive a competitive offer and are only interested in maximizing the take-home pay aspect of their economic advantage. Employees are motivated by a combination of monetary compensation, benefits, and good will towards a firm in the same way that a firm is valued by both its book assets and its good will in the marketplace. You assume, without foundation, that employee loyalty towards an employer that provides training will be nil, and ignores the possibility that employees might look forward to receiving future training (and promotions) which would have significant economic value, whereas a firm that poaches employees and offers no training of its own presumably won't be offering any in future either.
If an investment can't be protected it's pointless to make it. Having employees pay for (and be compensated for) their own training is the most reasonable workaround.
You could equally argue that it's pointless for employees to run up debt buying expensive an education which an employer might then say doesn't quite meet their requirements and therefore shouldn't be rewarded by additional compensation. Considering the non-dischargability of student loans in bankruptcy and the financial weakness of employees relative to employers when it comes to negotiating prices for training/education, I would say it's rather irrational for employees to take on all the financial risk involved.