> I've never seen any popular candidates talk about changing the voting systems.
Popular candidates are the ones that get elected. By definition. So yes, trying to push forward better candidates supported by a party the support of which will automatically raise their profile is the way to fix the problem. Plus, as noted, voting for the changes you want (including reforming voting & districting, if that's your thing) at levels closer to home, where non-big-two candidates or oddballs within the big two might actually win.
How have we reformed elections in the past, against the wishes of entrenched, powerful groups? Replace or win over one of the big two parties (the latter is easier—the former's rarely worked) and push your candidates forward. The Democrats have a strong incentive right now to get rid of gerrymandering, for instance. There are local and state level movements to reform voting—it's mostly a state-level issue—so try to get some initiatives on the ballot. Work with that. One step at a time. Voting Green or Libertarian or whatever for President or Senator's simply pointless, good feels aside—though only barely more pointless than any other vote for a federal office, under the current system. It just doesn't matter.
Feel good, or get something done? For the former, keep on voting however you like. For the latter, work to change the ballot. Initiatives/referendums and influencing candidate selection in the big two. You can try other stuff, but those are the first things you should look at if you're serious about getting things done.
The basic principles are 1) the earlier you're involved in the process (e.g. influencing who's running, what's on the ballot) the more effective you're likely to be, 2) the more you're swimming downstream the better (if you can work in one of the big two, 100% you should), and 3) the smaller scale the election, the more likely you can affect the outcome (obviously).