You are correct. Technically you do receive more for beating the higher ranked guy but in practice finishing 3rd will get you the same gain regardless of the rankings above and below you.
The ratings of your opponents is used to formulate your expected finishing position. Finishing in exactly that position will see no change in rating. Above it will see an increase. Below, a decrease. So even though a high rated player exists in the game the only purpose they serve is that they reduce your expected finishing position making the chance to increase your rating generally easier because they are harder opponents.
ie. Last game I played I was the last player to join the game and my rating was only 1 point above the minimum to join. So everybody in the game had a higher rating than me. After looking at the live ladder I could see that finishing 5th/8 would see my rating change by +1. This tells me that according to the math, my expected finishing position was about 5.1. It didn't matter who I beat, but I just needed to beat 3 people out of 7 to maintain my rating.
The rating is saying, on average most players in this game are better than you so instead of needing to finish in the top 4 out of 8 you only need to finish the in the top 5 to see an increase (although minor). Similarly, the highest rated player in the game finished 4th and had a rating loss. The game was effectively saying that because he was better than most he needed to finish top3 out of 8 to see an increase.
So yes, teaming with the strongest player is quite often a good idea but that brings it's own problems.
1) Everybody wants to be their ally.
2) If you are successful in becoming their ally then you might be selling yourself out of a win because they are highly rated for a reason.