We have a problem regarding income inequality, I would personally call it "Opportunity Inequality".
The Republicans cause this by protecting and propping up a system that uses the government to make it difficult for social mobility within a generation. They promote a system that keeps the wealthy where they are, regardless of how hard they work.
The Democrats cause this by promoting a system that spends so much money that the government must tax the middle class so much that movement within a generation is difficult because they have to support so many who don't work hard, or simply don't have the tools to make it economically.
So what is the solution?
I suggest reduce spending in a way that does not make it more difficult for the poor to better themselves, and create a system that provides a greater likelihood of financial movement within a generation. (more tuition breaks, more economic incentive for hard work, less tax on those making progress, more tax on those who rest on the laurels of their ancestors.)