There are VRDs about this but...
If my understanding of what you're saying is right, I take this to mean all your connections from all M3s into the core are essentially on layer 3 P2P routed links or similar? Is that right? If so, your VRRP between the master/backup isn't possible. Unless you're grafting it directly (physically) between the two M3s, and doing that won't achieve much anyway as the rest of the network won't be able to leverage it significantly.
If my above understanding is right, you're left with two options...
1. Create GRE maps and a schema to link the user VLANs between chassis (complex, but possible).
2. Create an IP mobility domain and HAT table to suit.
In either event, your resilience is going to have to leverage backup LMSs which will slow down failover (as opposed to VRRPs).
Both would work. I personally don't like option 2, as it tends to load the box cpus more than I'd like in big deployments.
To be honest, I'd be inclined to change if I were you and push the M3s out to the dist layer where you can tie contiguous VLANs between M3s and leverage VRRPs for resilience (again, create a balanced schema based on ap-groups). This will be faster (in terms of failover/box processing), and your config much simpler.
That's my 5 minute thinking time view! Might have missed something of course!
Thanks.