> The missing tax income has to come from the middle class, who can't avoid it.
Taxes on labor are actually a method of extracting money form the rich capital owners.
As you mentioned it's easy for the rich people to hide their wealth and avoid taxes on its growth.
The one thing that was very hard for them to avoid or hide was purchasing labor which they had to do to enlarge their wealth. So governments taxed that.
If governments lowered the taxes on labor it wouldn't mean middle class would earn more. It would only result in capital owners paying less for work. They always pay as little as possible and how little a person is willing to work for is the same, tax or no tax. Because money in hand is what counts.
Of course since as labor is being replaced with automation this way of collecting tax on capital growth becomes less and less feasible, so things are bound to change.