Subscriber database to be in sync using Distributor
Why don't you setup your environment to replicate from DR1 to DR2 instead of from D2 to DR2. That way you don't have to re-initialize or -synch anything on failover. You just need to make sure that you fail over both D1 to DR1 and D2 to DR2 together.

If that is not an option, you could also look into clustering. if D1 and DR1 build one cluster C1 and D2 &amp; DR2 make up cluster C2 you can setup replication from C1 to C2. In that setup a failover of either site won't affect replication.