Depending on your traffic complexity, one suggestion might be to have R1 and R2 learn their routes via BGP (or a default route), and simply use a floating static default route with a high administrative distance (obviously higher than 20) on R1 and R2 towards the Hub. This way, if your BGP relationships should fail with the preferred local loop connection, the floating route will be inserted and traffic will route via the DMVPN.
I don’t know all the details about your network, so this simplistic approach might not work in your situation, but from what I seeing, it will allow R1 and R2 the ability to fall back on a secondary path should you need it.