The big issue is with "just a flat rate that everyone pays". What do you pay that rate over? Big corporations manage to pay that rate over nothing. Generally those corporate taxes are paid over profits, so corporations avoid taking profits in countries that tax them. They sit on their money, pay it out as bonuses to executives, and take their profits in tax havens.
The issue isn't the tax rate, it's the loop holes. It's that the amount that's taxed is easily manipulated. Instead of easily manipulatable profits, the tax should be levied on something less easily manipulatable. Like revenue. Of course that already happens: VAT taxes, only because you pay them on all products, they are effectively paid by consumers, not corporations.
But how about allowing corporations to deduct their local external costs from their revenue? Not easily manipulatable foreign external costs, but simply the costs made in the same market as where the revenues come from? Then you're effectively still taxing profit, but tied to the local market, cutting tax havens and internal trickery out of the picture. A company on the other side of the world selling in your country but not making any costs there; no labour, manufacturing, rent, etc; would pay tax over their entire revenue, whereas a local shop that has does have all those costs, and therefore cannot help but invest in the local economy, gets to deduct those costs and pay less taxes.
I think that could do a lot to even out the imbalance and make the playing field a lot fairer.