What can I do to speed-up the transaction’s confirmation? When should I reattach (replay) a transaction?
Some things to make chances better that transactions confirm quickly:
Make sure that your transaction is valid (not a double spend)
Try to get your transaction propagated as fast as possible after attaching it to the tangle (i.e. check if you can do PoW with GPU which can be noticably faster than CPU)
Broadcast your transaction to a (full) node that is (as seen from the network) near you and not too overloaded
Make your transaction at a time when the network is not overloaded (too many transactions compared to full nodes). You can see current confirmation statistics at analytics.iotaledger.net/stresstest.table.
But how well you may try, as the consensus algorithm is probabilistic, you might get "unlucky" and your transaction getting ignored (or you accidentally approve a transaction that later gets revealed as invalid). In that case, it helps to reattach your transaction or to reference it from another transaction yourself (called promote in the GUI wallet).
A good step into the right direction is to run your own full node and have it connected to multiple neighbors. Once you have a fully synced up node you can start sending transactions and since you are the only using this node directly the success rate will probably be a lot higher. If you don't want to run a full node and are running into issues with confirmation speed consider trying another node; Some of the more popular nodes could be overloaded.
The single most important first step to send a transaction is to check if the server you get connected with is synced. The servers are not always synced. To check the synced status, you can compare the two milestone numbers (in the nodeinfo under Tools) in your wallet to the most recent milestone number in the #botbox of the Slack. If all the three numbers are same, your wallet or your server is synced. If they are not same you need either wait for them to be same or change a server.
After you have done the above first step correctly, you can make the transaction. I would say 80% of times your transactions will get confirmed in 30 minutes.
If your trasanction does not get confirmed in 30 minutes, you can do the Promoting (previously called Reattaching). You will see it if clicking the bundle next to the transaction in the History in your wallet. You can do the Promoting once every 30 minutes. But make sure you do the first step to make sure your wallet is synced first every time.
If you do the above steps correctly 99% of your transaction should get confirmed within one Promoting and most will be confirmed without Promoting.
It depends on where the withdrawal is happening. As for bitfinex we know that they're currently manually doing the withdrawal which should be rectified soon. If you are having an issue sending to other wallets try switching to a different node, also make sure that you have the latest wallet installed. As a side note there's a brand new UCL wallet in the works that should be released very soon which will take care of the re-attachment process in the background.