Theoretically, there IS a way to avoid paying fees. This is achieved simply by not including a miner's fee in your transaction. You'd be extremely unlikely to ever get it confirmed though, unless you intervene by somehow getting it submitted to a miner to include it. Deliberately sending low or zero fees is not good behaviour though. Just learn to pay what you need to.
You cant avoid paying the transaction fee but you can avoid paying HIGH transaction fees by doing these below
1) Wait for the network to be less congested (At midnight or during the weekend) this is often when the transaction fee will go down
2) Go to btc.com and check the lastest transaction fee .Compare the prices and decide when is the best time to transfer.
3) Change a wallet to a wallet called Mycelium that allows you to set different prices for Transaction Fees that ranges from low-priority to high
In short, there is no way to AVOID paying anything but with some methods u can avoid paying HIGH fees
I don't think it makes a difference at time of day, or time of week. The mempool's current state doesn't really shift very much, and fee sampling wouldn't be affected by such short spikes or letdowns in usage. Maybe I'm wrong but I don't see a significant effect when mempool is at this size anyway.
It's not reliable to use a wallet's inbuilt dynamic fee or priority fee - they are all estimates and can be wildly inaccurate as they don't seem to adjust well to network congestion. Better to learn to set your own fees manually, using a fee structure you determine on your own.