The fee is not based on % of money spent but byte size. You’re right that the miners can do whatever they want. Heck they could mine empty blocks forever , freezing the chain. Its really up to the market though. Bitcoin is based on economic incentivization. If you believe that people are naturally greedy and will do things for profit, and if it is decentralized enough, things will happen in a competitive way.