Why does my game select the worst host?

When I play on forge, campaign, firefight, theater or customs it seems to select my friends as being hosts when they are less than acceptable. I will start up any gamemode pretty much and invite my friends to join and as soon as they join or after a few minutes they will switch to host. This always happens I forge which causes severe object placement lag or atm in firefight and customs the game will lag completely to where its impossible to move properly. Is this due to the fact that I live on the western coast of Canada because I have 26MB/S internet and a 1-2 MB/S upload speed. Also my Upstream bandwidth is rated as red. I have an Open Nat and green download speed. Please help I don’t know what to do and the lag really frustrates me.