I don't feel that every person on Voyager should have a rank. They have the option and choice whether or not to be in Starfleet or operate as a civilian contractor. Neelix and Kes traditionally operated as civilians. They were not trained as Starfleet personnel. The doctor started out as Starfleet property wearing a Starfleet uniform. At the end of Voyager, he was still wearing a uniform. What was his Starfleet status with Voyager and with the rest of the Starfleet structure? His fellow EMH Mark One's were performing slave labor in the mines. I saw this a disturbing Federation trend. Was he still considered property or a civilian? He did demonstrate the desire to adapt his programming to better serve the needs of the crew in the event of their incapacitation. He participated in combat firefights (Friendship One, USS Promethius, Kazon takeover, Equinox, etc... ). He also wanted to achieve more in his life.
If Maquis terrorists could be given the ranks of Commander and Lieutenant, why shouldn't he have a rank? Unless a medical situation is present, the officer with the lower rank answers to the one with the higher rank. Dr. Bashir was ordered around by everyone with a higher rank. Only in certain circumstances could he take control. Lastly, imagine Counselor Troi commanding the Enterprise even though Data is the more capable in a crisis situation. Cobra