- How can I minimize the gas fees when using metamask?
It is possible to set custom gas fees when sending a transaction with Metamask (see here : https://metamask.zendesk.com/hc/en-us/articles/360015488771-How-to-Adjust-Gas-Price-and-Gas-Limit-). The Ethereum network is currently overloaded and the consequence is a higher gas cost. You can see the average gas price here : https://ethgasstation.info/.
- And is it true that if I set the gas fee too low, I would lose my ETH on a failed USDC transaction?
No, your transaction, in the worst case, will not be mined and get stucked. In this situation you have to send a new transaction with the same nonce and a higher gas price. Metamask does it for you with the "cancel transaction" option. Note that you can't lose funds on a failed transaction as your transaction will not be validated by the network. However you will lose the gas paid to process the transaction.
- How come nothing was revamped to foresee a potential gas fee issue all these years on layer 1? What solutions are there for layer 1?
Gas fees are a real challenge and some solutions are under reviewed for Ethereum 2.0. One of them is the EIP-1559. This EIP has the objective to change the transaction pricing model by instauring a base fee per gas managed by the network. For more informations you can check the github page : https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md.
Other solutions include sidechains which are a "layer 2" scaling solution enabling to lighter the main network.