I don't think you get a pass on a politician with a record like this. http://www.ontheissues.org/house/Chris_Cannon.htm#Civil_Righ...
It's like saying 'well, he's a white supremacist, but he has pretty good views on economic policy!' - if those issues are important to you (and they probably should be!) it's not reasonable to overlook them. You have to draw a line somewhere, even if you are occasionally willing to ally with people you disagree with to achieve a common goal.