Every system has its own host of problems.
Human nature is to want a better life for themselves and their offspring. Communism in theory will provide a decent life for everyone, but fails to compensate for the fact that humans always want more. When gambling, if we win $100, we will not settle with what we have. We will bet that $100 over and over until we lose all of it, thinking somehow we can make that $100 turn into $1000. We desire upward mobility, and if we think we can find a way to ensure it, we will take that route.
So what Communism does is provide every gambler with that $100 and tell them they can't turn it into $1000. Because there is no legal upward mobility, humans would stockpile it to use as bribes to bribe an official into putting them in a new casino where they get $200 instead. The officials take the bribes and thus they wind up being one step ahead of everyone else: the person who receives the $100 gives it to the official, who then allows them to get $200, which they again use to bribe the official, never happy with what they have even though it is overall making their family's lives worse, not better. The only person who comes out on top is the official taking the bribes, who likely had to give a few bribes himself to be in the position to get it in the first place.
Because there is no legal upward mobility, people turn to illegal means. The people on top are the ones who were the best at taking and making bribes, and the people on the bottom can't feed their family because they have to spend their money on bribing officials in the hopes of eventually having more overall money.
It's not a perfect metaphor, nor is this always the case in a communist society. Not everyone is making and taking bribes, but the leadership and those close to them - the most well-off - certainly are.
Capitalism falls into a similar pitfall. The idea is that people who "pull themselves up by their own bootstraps" and create something new should be rewarded for it (another problem with communism: no matter how hard you work, you will always get that $100, no less, no more, so why work hard?).
Yet capitalism doesn't account for those who have no "business" skill, the ones who have no boots to speak of, whether they were born into a poor household in a poor neighborhood or just were the victims of misfortune.
You can't honestly look me in the eye and tell me that an african-american inner-city youth, born into a family making $7 an hour with four other mouths to feed is going to have the same chance to be successful as his white counterpart, raised by nannies and private tutors, comfortable in one of his large houses bought by his Ivy-league educated parents who make a six-figure salary.
Even if the poor kid is the hardest worker on the planet and the rich kid is a lazy sloth, the poor kid will likely never see a college, if only because his family can't afford it. Because his family can't afford it, he is a lot less likely to get a good job and will fall into the same minimum-wage labor as his parents, thus ensuring that his kids will never be able to go to a college, either. If he were to go to any college, it would be a community college, which (if it like were the college I go to, which I'm assuming is average) is $35 a unit with the smallest classes being 3 units and the required ones for the lowest degree being 5.
To even afford 8 units - nowhere near the amount of credits he'll need for even the lowest degree - his family would spend $280 in a purely capitalist society. That's 40 hours of solid work, an entire week of an 8-hour job going straight to school, BEFORE books and other expenses get factored in. No matter how hard he works, he won't get that upward mobility because he isn't ever given a chance at life. He can't pull himself up by his bootstraps because he's too poor to afford them, or he pulled on them so hard they broke with no chance at a better life.
The rich kid, meanwhile, born to affluent parents, will have his Ivy League education paid for with no effort on his part. His parents will secure a good job for him - after all, what's an Ivy League education good for if not to have a cushy job handed to you? - and he will be as affluent as they are, even if he did poorly in school, with no effort on his part. He has bootstraps, but why pull on them when you can lounge in your mink slippers instead?
This is, of course, another extreme example, and doesn't hold true for all cases. Likely, the rich kid would be inspired by that ever-increasing drive for upward mobility and a better future to find ways to get even richer (likely through the stock market, which isn't really an example of pulling yourself up by your bootstraps rather than it is buying the bootstraps of others and reaping the dividends when they pull up on them). The poor kid will likely become an assistant manager, if not a manager, of some public service job, provided he put his full effort into it. But is that really an example of pulling yourself up by your bootstraps? Pushing yourself into a dead-end job for the rest of your life because you can't afford to be trained in the "skills tomorrow needs" while someone born to rich parents can make your yearly salary in a couple weeks simply by betting on the work done by others?
A perfect system would account for that drive for upward mobility, allowing room for that while also providing a floor, a decent livable income where a family can support themselves. They may not have luxuries, but they can pay for food and they can send their kids off to follow their future. The drive for upward mobility will encourage them to find a way to earn more, to find a way to secure those luxuries. Businesses would need to compete with what the government gives, thus encouraging new employees to work for them and earn those luxuries.
The ones on top, our official and rich kid, would pay for the expenses of those who do their work. The ones who do the least - management - should be paid the least, while the ones who do the most - the workforce - should be the ones earning the majority of the money. The harder the job, the more beneficial it is to society, the better the pay. Mooching off the effort of others, like the official taking bribes or the rich kid buying stocks, will not make your kids' lives better, but learning to do your job better or finding a new, better way to fuel society will.
But this system requires strong government involvement. The managers, as it stands, are the ones who control pay. Government should give incentives to those who can effectively manage a company - finding ways to do things cheaper or more efficiently - but give stronger incentives to those who do the actual work. The government would be the ones controlling the pay, although it should not impose an upper limit, just a lower one, to allow for the upward mobility aspect. The better you do your job, the better you get paid. There will probably be the same sort of problems communism has with bribery, but it's certainly a better system than what we have now, where the ones on top stay on top for no other reason than they or one of their ancestors managed to roll the dice and score a natural d20.
The closest we have to this system is socialism. Socialism isn't perfect, because it has to have some sort of punishment for success (in our case, it would actually punish those who work the hardest and thus make the most). But perhaps we're looking at this the wrong way. Perhaps a tax on personal income isn't the way to go.
In our current system, successful companies sit on a large chunk of wealth - wealth they use to fund Super PACs or file lawsuits. Rather than tax an individual's income, a heavy, perhaps communist-level tax should be levied on the income of the corporation (after all other expenses have been paid). This encourages corporations to invest more in their workers, their equipment, and the overall economy so as to avoid having that extra income to tax. Things such as lawsuits or stocks should need to be factored in after taxes so the corporation doesn't skirt the system by using their income to sue others (for example). Because it is impossible for a corporation to be so efficient they avoid this tax altogether (and if they do, the corporation's practices are probably largely suspect), there will be funding for the "floor" and other government programs, and because corporations are investing in the economy and always have incentive for creating jobs, the job market should be healthy as well. The tax would need to be heavy to produce that incentive, but there should be a reprieve for corporations that are losing money, a welfare system, of sorts, for corporations. If they are in the red, the government will step in and help them make ends meet, but unless they show consistent progress towards breaking even, the government will help less and less until they eventually collapse.
Anyway, that's all theory and will likely never see practice. I honestly meant to type a much shorter post, but somehow I wound up with that.