Get involved in grassroots politics. Support municipal or state-level candidates who have potential to be federal candidates down the road. Doorknock for candidates who you feel represent you. Tell your friends and family who you're voting for and why. Vote in primaries. Always vote in general elections.
I mean, that's not exactly an either or thing... For the average voter with a family and career you have:
* Two parties
* Candidates to choose from in those parties with slightly different platforms trying to capture appeal based on big-ticket trending issues
* No one person you could possibly agree with on all things unless you are voting for a hardliner and blindly drink the party koolaid
So I mean really, if your vote is all you can offer and you have no hope of getting someone from your preferred party elected, the next best thing is to try to support your preferred candidate.
I mean, so there are two games going on here. The biggest lie is that politicians have convinced the public that they are in the same fight to get their party in control. Except really you have:
* Politicians trying to get their party in control and stay elected
* Citizens trying to get things they care about addressed, improved, whatev
It's the whole "We won't vote for Hillary 'cause Democrats even though we don't like Trump" problem, but it goes both ways..
Vote for the one that matches your interests the best. I don't understand why you would do anything else (unless you're trying to make a symbolic statement). The two-party system is not going to go away tomorrow, and it certainly will not go away because you refused to vote.
Yea... we really need to fix that one of these days with instant runoff voting. It's going to be hard to get done since both primary parties won't be in favor of it, maybe if we get public financing of elections it'll be easier.
Everyone in America faces this dilemma, it's the problem with our two party system.