I always do the following before sending any BTC:
If I want the transaction to occur fast (because I want to turn BTC into cash) I use a very high fee when the number of unconfirmed transactions is huge.
If I don't really care about the speed of the transaction I'm using an average fee, but large enough so it won't take 24 hours to confirm.
After sending/receiving BTC I always use:
https://live.blockcypher.com/btc/This website shows a confidence factor and miners preference for unconfirmed transactions:
https://www.blockcypher.com/dev/bitcoin/#confidence-factorThis technique works fine for me.