I have been running an extra large Windows Azure SQL VM (A7) for half years. In here, I list a couple of recommendation from me.
In here, I list a couple of actions which I did to improve performance. My app is 7/24 data pipeline. I collect data from many of production clusters and insert them into the DW. At the same time, we run alert on top of it (scan the rows last inserted, and see whether some thing bad happens), and also daily reports using SSIS. For me, the big concern is that I need to making sure the VM is always up and I can always insert data. On the client side, I did a couple of works to add retry logics, such as do in-place retry three times (i.e., if query time out, I just retry it), and off-line retry (i.e, write the failed sql statement in a log file, and retry many time within one hour until it succeed).
As you can see, the performance of the system is very important. So far, I am pretty happy about the HA of the VM, but I did quite a couple of performance tuning in order to get best throughput.
There are a couple of another optimization I did which might not apply to you, but I give them here for your references:
I will write another blog to show how you can regular backup database files to azure and how you can restore backup files to VM (it is not trival as you though). For now, I list a couple of recommendations.
You can also all available scripts for troubleshooting. I personally use Active Monitoring for some issues.