"I can see the logic here - particularly in establishing a minimum time. I find I want some sort of random roll, however, based on a person's temperament, ability, intelligence, failure to get his or her self injured, etc. The above seems a bit, well, pat for me. It works for mass armies - but supposing the players pick up a lone, non-combat trained person in their travels, who wants to become an adventurer - say, a 15 year old boy. How would the system deal with that?"
If he wants to accompany the party right now: he takes an easy swing in each fight the party is handling and therefore gets a small slice of bonus XP for himself. Do it enough to get from -1500 to 0 and he's a level 1 fighter.
If the party wants to train him all the way up to a level 1 fighter by "zooming out" for part of the session and skipping over a period of game time, then one could just roll a d4 to find the years necessary to train him.
Or... if you want to make the transition to "this many years later..." less abrupt, just roll d4 for a target of 4. If you get a 4 he's been trained after one year. If you fail you roll d4+1; success means he's trained after 2 years. If you fail again you roll d4+2; success means he's trained after three years, and if d4+2 again failed to get a 4, then it took all four years. Similar to rolling d4 for number of years, but nobody (including the DM) will know in advance how many years, which is better.
Of course, both of the above could use a d8 if you want to find the number of 6-month periods instead of the number of years, or a d16 if you want 3-month periods, and so on. In each case the target number is the maximum on the die, just like aiming for 4 on d4.
One would also be free to mix and match between training with a trainer and training by taking him along right away, although in that case I'd encourage doing whatever training you want do first and then taking him along. Otherwise he'd have some XP already when he went back to training through a trainer, and thus we'd have to figure out how much XP each time unit means. A fun rabbit hole, but it's beside the point at the moment.
Finally, all this would imply that one can hire a trainer to bring a favored NPC to first level. I'm certainly on board with that as a service players can access, because it also suggests the possibility of training skilled but not-necessarily-leveled workers. Perhaps I could generalize "combat training" at -1000 XP into a notion of "professional training," to handle these cases, since not all professions correspond as neatly to a character class as a soldier/man-at-arms corresponds to gaining fighter levels.
I wouldn't allow such outsourced training to take the NPC above first level though. Gotta earn those levels the old-fashioned way.