For one thing... why does it seem like every other week is a non-elimination leg? This doesn't seem like a very competitive way to set up a game. Can you imagine any other game giving someone a freebie every other turn? Why do they think that'd be entertaining to watch? I would think as a player, too, that it would make that leg feel like a pointless waste of time because you're not any closer to being the final team than you were a leg ago.
What if instead of non-elimination legs, let teams earn a pass that would allow them to not be eliminated if they came in last. There'd only be one pass in the game at any one time, so teams wouldn't be eligible to earn another one until whichever pass was out there had been used. Teams could also choose to spend their pass to let them skip through part of a leg if they wanted (instead of using it to get them through an elimination), or they could keep it as long as they wanted to make sure no other teams could have a chance at it. This way it comes down to a team's strategy, rather than just a random fluke in the game, to determine if a team stays in the game or not.
Speaking of staying in the game, have you noticed that it doesn't seem to gain a team any advantage to come in first during a given leg? Teams tend to get bunch up around flight-times or businesses not being open, so having a five-hour lead time, for example, doesn't really help. What if there were a clear advantage to being first? Like, maybe they had the choice to either start the next leg immediately or enjoy a luxury hotel (thereby giving them more energy for the next leg). Every other team starts at the starting point the next morning like they do now, but potentially (depending on the strategy they want to go with), the winning team could jump out in front with a 12-hour lead time. Theoretically... this could cause a winning team to end up a leg or two ahead of everyone else, which I think would make things pretty interesting. Even if they chose to stay in the hotel instead, they'd have a psychological advantage over the other teams, which could prove to be just as valuable as a time advantage.
Another thing I would change would be modes of transportation allowed within a country. Every team should be given a map (or be made to find one) and a bus schedule and told to figure it out. None of this taxi stuff. Please. They should be allowed to rent a car, take a bus, walk... anything that requires the use of their own wits and sense of direction, rather than those of someone else who drives around the city for a living. Taking taxis either eliminates the challenge of navigating a new city, or it gives a team a severe disadvantage if their driver happens to get lost (thereby making the team late by no reason of their own). If the teams had to get themselves everywhere, there'd be no one else to blame, which seems a lot more like the spirit of the game in the first place.
I guess, overall, I like the idea of a race around the world, but the current way this game is set up makes it feel like "winning" a leg is pretty arbitrary. Teams usually are very bunched up and coming in first doesn't really give any advantage in the race. To make it worse, losing teams are only sent home about half the time, taking the sting out of doing poorly. It would be a much more interesting show if there were clear ways to get ahead in the game, as well as regular eliminations to keep things moving along towards the finish line at a good pace.