I've heard many horror stories of people, who sent BTC and paid absurd transaction fees, because they were sending the BTC in the wrong time or their wallet settings weren't adjusted correctly.
Take note that i do not support op's assessment of fiat currencies and banks, people who overpay in transaction fees when using BTC is not a problem with the BTC system, but their own mistake, and since BTC is a decentralized network, its users have to learn to be their own bank. They should know how to check the mempool before making a tx and how to consolidate their inputs to save up on future fees, however, the problem in the op is more about the system in this case, rather than the individual.
You go shopping and need to pay a bill but before paying you have to spend extra time checking the mempool first? If the network is congested and the fees are too high, you will have to cancel the bill and wait days later to come back to pay? And you call this the perfect payment system? LOL.
Bitcoin is not perfect and we need to accept that fact, we should not blame the users when that is the downside of bitcoin. Instead of blaming, which will not solve bitcoin's problems, we should either find a way to come up with a solution or accept the fact that bitcoin is not suitable to replace fiat and traditional payment systems.