The first thing to do to fight corruption in politics is to institute term limits. It helps reduce the number of carreer politicians. Another way is to indeed abolish the 17th amendment and give power back to the states where it was originally intended.
Too often, you see legislators giving goodies out for votes. Since those goodies are paid you by you and me, it becomes a viscious, endless cycle. Groups petition legislators for favors. Those groups then donate money to said legislator and both then benefit at our expense... Unions are the worst about this... Especially public sector unions. Are we to believe that unions are considered people, while corporations are not? While I have no love of big corporations, I do think they can act as a counterbalance to those who I have to subsidize...