For a ship stranded in the Delta Quadrant, upward mobility for the crew shouldn't have been a concern. There was never any chance any of them were going to get promotions except by attrition. Certainly it's as reasonable to ask why Janeway was never promoted to admiral as to ask why Kim was an ensign for seven years. Promotion is only useful when there's somewhere to go when you're promoted. Having every officer on the ship at commander rank would've been possible, but Kim would've always been the most junior commander, and still would've had to do the same job.
That being said, when Paris was demoted to ensign, the show runners could have promoted Kim to lieutenant, junior grade rather than promoting Paris back to lieutenant, j.g. Not that rank ever was an issue between Tom and Harry, but it would've been funny for their ranks to have been swapped to see how it changed their dynamics.
Same as above. As one of many examples, Worf technically got promoted twice in TNG's run, yet only assumed a new position when Tasha Yar died (he was a Lt. Junior Grade in Encounter at Farpoint). Geordi technically received three promotions.