Harry Kim isn't without his flaws, but he is a capable officer and by the end of Voyager, he has had years of experience in situautions way more complex and difficult than most officers in Starfleet. We see people get field promotions all the time throughout trek, so it is definitely not beyond Janeway's power to do so. She's also shown that she can arbitrarily gives out ranks to ex-cons, and even terrorists, and yet, Harry Kim remains an ensign the entire length of the show. He has completed the academy, and is shown to be very knowledgeable about getting voyager out of trouble numerous times with his skills. He therefore is officially more qualified than any of the Maqui, yet all of them outrank him. Sure, he screws up sometimes, but definitely no worse than Riker, who seems so to get the enterprise nearly destroyed repeatedly due to mistakes. Why is Kim never promoted?