A fourth way would be that during a mission, the medkit can only heal soldiers by a certain percentage of their max health, say (for argument's sake) 80%.
So for example if a soldier had 100 max health, and took some damage, the medkit could heal up to 80hp, regardless of how many times he is wounded, however after it has healed 80hp total, using the medkit won't have any more effect for that mission. So he needs to go back to hospital to heal.
This could be exploited a bit though, if you take wounded soldiers on fresh, easy missions to heal them up, but you could make it so that soldiers that are 'moderately' or 'heavily' wounded can't leave the hospital.
Alternately, just give a cap on how much health the medkit can heal in a mission, per solider. That way the medkit still has 'infinite ammo', but limited use. If that made any sense...