It seems like we're talking about two different things here. The first is transaction fees. Coinbase is definitely charging higher fees than they used to, to compensate for network congestion and their large transactions (lots of small inputs from people using them as a wallet). The answer there is to use a local desktop wallet instead of Coinbase, especially one that allows manual fee setting, so you can pay very low fees when payments aren't time-sensitive.
The second issue is BTC/USD conversion. You can get 0% fees for that by 1) transferring your USD from Coinbase wallet to GDAX and 2) placing a limit order for the amount you want to convert. Market orders get charged fees, but limit orders don't.