The fees are high because so many people are willing to pay a lot to make a bitcoin transaction. It is not a matter of rich or poor. It is a matter of what the transaction is worth to you.
The solutions are to make transactions smaller, enable off-chain transaction layers, and make room for more transactions, or perhaps to make Bitcoin less useful.
Onchain transactions will always be expensive for small transactions. If we want to get everyone on board, again, segwit + lightning network is the way to go.
But, The problem with the Lightning Network solution is that it is another payment system that people will have to adopt. It has taken Bitcoin 8 years to get this far, so we should expect adoption of LN to take just as long. A bigger block solution is necessary in the meantime.
I hope its helpful.
