And in in both BSG Adama got frakked when Admiral Cain came up to bat.
Actually, in the original BSG Caine was immediately clear that Adama was senior, and therefore in charge. Didn't stop Caine from disobeying orders when he was certain he was right, but he at least pretended to be following Adama's orders.

If you miss the original BSG, its on Hulu.
By the end of Voyager, Harry Kim had been out of the Academy for 7 years. Data's comment in Datalore suggested he should be a LtJG by then. But let's compare with other characters we've seen:
7 years out of the Academy, Picard was in command of USS Stargazer.
7 years out of the Academy, Riker was First Officer of USS Enterprise.
7 years out of the Academy, Geordi was a LtJG.
7 years out of the Academy, Troi was a LtCmdr.
7 years out of the Academy, Worf was a Lt.
7 years out of the Academy, Lt Tasha Yar had been dead for 2 years.
When we first see Jadzia Dax and Julian Bashir, each has been out of the Academy about 8 years.
7 years out of the Academy, Janeway had been in command of a starship for at least a year.
Suggesting that there is room for promotion on Voyager because there were plenty of high ranking people on the Enterprise ignores the fact that the Enterprise-D had nearly 10 times as many people on it as Voyager. Similarly, DS9 started as a little backwater outpost, where the CO was a Commander and the CMO and Chief Science Officer were Lieutenants. Sure, even when the crew ballooned during the war, the head of Operations and Engineering was still "Chief" O'Brien, but that's more of a problem than a precedent.
Let's look at the Enterprise-D and see what we can learn:
Captain Picard's senior staff was 2 Commanders (Riker and Crusher), 4 Lieutenant Commanders (Chief Enginner, Data, Troi, and Chief Science Officer who usually wasn't at the meetings (Neela Daren was one)), and one Lieutenant (Security/Tactical). Each of those Commanders and Lieutenant Commanders probably has 3 to 5 Lieutenants working for them, so that's roughly 25 lieutenants, each of whom has 3 to 5 Ensigns working under them, and each Ensign has 8 to 10 Crewmen working under them. That's about 100 Ensigns, and 900 Crewmen, so that's a total crew of 1033.
Working that from the bottom up for Voyager, let's start with 90 Crewmen. They'd have 10 Ensigns supervising them. Those Ensigns would report to 2 1/2 Lieutenants, and the CO would be a Commander.
See, Voyager already has WAY too many chiefs and not enough indians, and most of those "chiefs" already rank too high. So while Janeway could technically command a staff of 4 to 8 Lieutenant Commanders, what Lieutenant Commanders do is supervise Lieutenants, and there aren't enough Lieutenants aboard. And Lieutenants supervise Ensigns. And Ensigns run a small team of Crewmen. If there aren't enough Crewmen, there are a lot of bored Ensigns with nothing to do.
These numbers are all very crude estimates. There probably aren't any Crewmen in the Counselor's office, and fewer than average in Medical, for example. On the other hand, Security probably has extra Crewmen, and Engineering will have a lot of them too. But the point remains that Harry Kim had trouble getting promoted because there just weren't enough people working under him to put a Lieutenant in that job, and no open jobs elsewhere to move him into.
"Lieutenant" (or"Ensign" or "Commander" for that matter) is not just a title, it is also a job description. Sucks to be Harry.