I can only speak to the Marine Corps, but there is a pretty structured/meritocratic method for being promoted.
At least for the enlisted ranks, your promotion potential is dependent on a couple of factors: how many people of a particular rank for any given job field are needed, your personal fitness scores, rifle range proficiency, professional military education completion, etc.
There is a certain degree of subjectivity, as you are given what are called "proficiency and conduct" ratings in the earlier ranks. In the mid-later ranks, you are given performance evaluations. Those evaluations are at least partly based off the factors I described above, though.
Interestingly, when you put in for promotion at the mid-later ranks, the people who make the selection are not in your chain of command. You put together a package and the decision is made by a board consisting of third parties.
In the earlier ranks, your performance/ratings is compiled into a score, then each month the Marine Corps issues a total scoring that must be met in order to be promoted.
It is by no means a perfect system, but it seemed mostly fair. It is also incredibly complicated, so I apologize if I did not do the explanation justice.
Wait what ? Anybody has experience/comment on that ?
(I'm not trying to dismiss anything, genuinely curious !)