One reason that multishooting of fortresses happens is the mechanism that determines fortress level. If previous winners just keep farming for fun, the next fortress will keep growing, so wings often simply cannot kill fortress without help, or have to grow to 65. It is the demand for help, not the supply, that matters most, I think.
One way to deal with this is to compute fortress level based on offense levels of those that have not killed it yet. Of course, with this change, though more people would stop playing after winning, others will stay so that they can one shot the fortress. So those that shot it once should not be able to send attack again. I think that would fix this problem.
This solution does not affect the king of the hill at all. If the king really won they can be doorkeepers, but can't shoot it themselves. If a competing alliance is still strong, it can prevent wings from shooting fortress by keeping growing, so potentially king can be thrown off throne and second alliance could be a competitor of winners wings and second medal can mean something.