there have been ongoing spam attacks on the network, probably carried out by bitmain to fit the bcash narrative. here's a couple things to consider:
1) stop counting fees in dollars. fees are part of the protocol, meaning they are calculated in BTC. dollar value is irrelevant. the price of bitcoin has risen 40x over the last couple years, so of course the dollar value of fees will be much higher now.
2) with these levels of congestion, proper fee estimation and fee priority becomes very important. do you need your transaction confirmed by the next block, or by the next day? it makes a huge difference. i never aim for confirmation in the next block. usually i go for 3-10 blocks, and sometimes extremely low fee transactions are fine if i am just consolidating outputs into my own addresses.
on my last transaction, i paid 0.0003503 btc in fees ($2.697 at the time). that was a for a standard non-segwit transaction (1 input, 2 outputs). with segwit, it would have been even cheaper. and if i were willing to wait 24 hours for a confirmation, i could probably have paid 10x less. when in doubt, use https://bitcoinfees.earn.com/ to properly estimate fees, and stop overpaying!