One option I have long favored for giving third parties more influence without the necessity of changing the Constitution or abandoning the two-party system would be fusion voting. Under such a system, third parties could cross-endorse major party candidates and have their votes aggregated. Such a system has long operated in New York, which has a Conservative Party, Liberal Party and many others. Oregon has recently adopted this system as well.
The main benefit of fusion voting is that it would force major party candidates to seek the additional nomination of third parties and work to accommodate their interests. In New York, for example, the failure of a Republican candidate to also secure the Conservative Party nomination virtually guarantees defeat.
Fusion voting also allows for interesting alliances and provides useful information to voters. A Republican with cross endorsement from the Liberal Party might be viable in a heavily Democratic area. Those who would never vote for a Republican might be willing to do so by pulling the Liberal lever.
Fusion voting thus makes third parties an important part of the political system. Without it, people mostly feel that their votes are wasted on a third party candidate because the odds are so heavily stacked against them. Fusion voting also encourages fringe voters to participate in the political system, rather than being alienated from it.
I made the case here; some history here.