The best suggestion I saw in the SEIU's "Since Sliced Bread" contest was paying people $35 to vote. That would get the disenfranchised-feeling poor vote out for once. It would also accomplish what mandatory voting does without hitting anyone over the head with a fine.
Next thing you want to try -- (don't recall if it was one of my contest ideas) -- is REVERSE campaign matching funds: matching any contribution to any candidate from taxpayer funds (buy our government back). This will keep incumbent congresspersons from spending half their time raising money and the other half satisfying those who gave -- incumbents will run from contributions.