I had this realization after meeting a political strategist through a mutual friend and having a conversation with him about what he does, and then I felt stupid for not having realized it before. His job is, at a high level, to find areas where polling indicates that his party's support in a particular election is a little under 50%, and then find ways to get a few more people to vote. If they reach 50% + epsilon, he's succeeded. If they reach significantly over 50%, that effort is wasted; you win an election equally well with 51% or 90% of the vote, so as long as you have 50% + a comfortable margin of error, you might as well spend your time trying to win other districts. And then, of course, the other party is trying to do same thing.
So a roughly 50/50 split in votes in a district, or in senators in Congress, or whatever, isn't indicative of an equal number of the voters being partisans of each party. You might have 10% partisans of one and 40% partisans of the other, which would cause the first party to run a centrist campaign/candidate to attract a lot of undecided voters and the second party to be willing to run a much less centrist/candidate.
Essentially, as long as you have two political parties, you're basically never going to lose the partisans (they certainly won't vote for the other party, and an extremist third party will always sound like a spoiler), so once you've settled on two major parties, they'll end up getting about 50% of the vote, even as their actual political positions move.
One way to avoid this problem would be to move to a non-first-past-the-post voting system, so a centrist third party (or one with orthogonal ideas) can successfully beat them both by attracting the non-partisans. Or, at the congressional level, move to a parliamentary system that requires forming coalition governments, which would enable something similar. But the US has neither of these.