I'm not naive enough to think communism is a magical answer (but Cuba is not some A/B experiment - the U.S. in particular has done a lot to make sure Cuba didn't succeed) - it ends up concentrating the wealth too. I would favor some form of democratic socialism, with leaders who can be kicked out if they abuse their power and limits on the influence of rich individuals and corporations.
On the latter, I think we forget that corporations are a legal construct intended to benefit society by allowing risk pooling - they are not people and should not be considered as such for things like free speech rights. Corporations should not be allowed to make political contributions in any way.