Aaron Willette (a Meraki systems engineer) has done a great article about MX sizing (including VMX).
He has found it can go up to 500 concurrent tunnels. This being the case you would need to use a pair of them.
Aaron has also done a great article on running dual active/active MX head ends.
>Dynamic Routing - would like to have the vMX dynamically announcing to Azure the local subnets of the Autovpn spoke sites instead of adding static routes in Azure (is dynamic routing between vmx and Azure duable? )
Azure does not allow dynamic routing to VMs hosted in Azure. Ideally you would split your spoke address space and create two supernets. Then you have have a single static route supernet to each vMX.
Also note (and I don't know why this is) a small number of times (in my experience) when you deploy a VMX into Azure you get permanent low level packet loss (5% is typical) over AutoVPN. When this happens the only way to resolve it is to delete the VMX and re-deploy it.
So I have gotten into the habit of testing this as soon as possible after deploying a vMX.
It is also binary - you either have the problem or you don't. If you have it - it never goes away. If you don't have it then it always works perfectly.
Myself, I would run the AutoVPN connections directly to Azure and not bother with Express route.
For Amazon AWS deployments I wrote a script which lets a pair of VMX run in HA mode by manipulating the Amazon AWS route tables when a failure happens.
If you were keen you could probably write something similar to update the Azure routing table from the Meraki VMX routing table.