What are the best practices regarding reattaching and rebroadcasting? I have been waiting about 2 hours between reattaching and promoting but just cant seem to get this particular transaction to confirm.
The single most important first step to send transaction is to check if the server you get connected 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 node.
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.
Also don’t send a second transaction before your first transaction gets confirmed. If you do so, one of the transactions will never get confirmed becasue your remaining balance will be automatically moved to a new address in your wallet after either one of the transactions gets confirmed.