Each time an elite unit wins a battle against another civ's unit (i.e. barbarians DON'T count), there is a 1 in 16 chance of it spawning a military great leader. On the attack, at least. It bears mentioning that an elite DEFENDING unit that wins a battle has a 1 in 32 chance of producing that leader.
What one must remember is that this does not mean you'll get one once in every sixteen elite victories. It is an isolated random 1 in 16 shot, each time. I've gotten two on the same turn sometimes, and other times gone 0 for the whole game.
The only way to directly improve your odds is to build the Heroic Epic small wonder, which changes it to 1 in 12 odds (on attack) and 1 in 24 (on defense) of popping a MGL. Of course, in order to build the Heroic Epic, you have to have made an army, and had that army win a combat, and thus you have to get that first MGL to make this an option.
You can indirectly increase your odds by getting more and more elite units and having them see more and more combats and winning them (Scattershot approach). Using artillery to redline targets before attacking them, using defensive units to "shield" your elite units after they've attacked so they'll survive to heal up and try again, using units with the "blitz" ability (blitzers can attack repeatedly on the same turn until they run out of movement points, and any unit that wins multiple fights on the same turn gets automatically promoted on each of those fights starting with the second; i.e. a conscript spearman stands near a barbarian camp at end of turn, four barbarians attack. If he survives them all, he will get promoted in the second, third, and fourth fights to regular, veteran, and elite. But if each of those barbarians attacked one per turn, over four turns, he could conceivably kill them all and remain a conscript). Playing as a Militaristic civ also indirectly increases your odds, as Militaristic civs have an increased random chance of the veteran-to-elite promotion from a one-off fight.
Caveat: also remember that the game does a "check" for preexisting great leaders before randomly deciding whether a fight spawns an MGL for you or not. If you have any unused GLs of either type, no new MGL will spawn while they remain unused; your odds of spawning are literally 0%.
Caveat 2: A given unit can only spawn an MGL once. Once that archer has popped one, he can't pop another. You'll notice he has an asterisk by his rank now, "Elite*". That asterisk means "I've spawned an MGL, yay for me!" No matter how many other fights he wins, that's it for him. EXCEPTION: If you upgrade him later on to a Longbowman, he will be demoted to the status of veteran. He could then conceivably get promoted to elite again, and then spawn another MGL. I have never been so lucky but it can be done.
But really, you just have to keep trying, get lots of elite units and keep them alive, and keep trying and trying with them until your luck comes through. I've got a game going with Portugal now, where I saw neither hide nor hair of the MGL until modern era. I finally got one, and then the dam burst; before that campaign was over I had five MGLs (although bear in mind I did get the Heroic epic built during this time, which gave me slightly better odds, but still, nothing until the modern era, and then BAM!, 5 in 20 turns of warring. Sometimes they just come in clumps like that.)
As you've already discovered, stubborn persisitence is your best asset in the quest for an MGL.