There can only be one host at a time. Two hosts will be a conflict of sent and received signals/data. Just like when two people are talking to you at the same time, you can hear them both but it's hard to understand what's going on because one distorts the other and vice-versa.
It is constantly searching for good signals within the game. When one signal starts to lose signal strength, it'll go to the next good or better signal if it has time. If it doesn't have time, that's when we see the Host Migration message as it tries to reconnect, and when it's really bad we all get kicked out and we see the Lost Connection To Host message.
Having a dedicated server and not having to rely on a gamer-host is a good idea. But, as you've already stated that would be a cost that the game publisher and developer will never agree to.
thanks for pointing out the flaw in my idea without being a jerk.i guess we will be stuck with this problem for years to come.only way this can be reduced is to give a good incentive to not quit like a much higher match xp for a full completion of a match.harsh penalties for quitting wouldnt work as ppl will just lag the game to cause a connection time out.anyone think a better reward for staying to complete a match will be helpful to the cod franchise