How to synchronize two microcontrollers to micro-second accuracy?
I don't mean to rain on your wireless parade.  You've ran into a tough but unexpected requirement.  Something like that warrants re-evaluation of the whole system design.

1st thing that comes to mind is to clock both units off one oscillator.  You have Bluetooth communication, which hints that the range is on the order of 10m.  You could connect your units with RG174 coax cable or an optical fiber, which would carry the clock.

2nd, there are precision oscillators.  In order of increasing precision and cost.


TCXO (temperature compensated crystal oscillator).  1 to 3 ppm drift, typically.
OCXO (oven controlled crystal oscillator).  Drift on the order of 0.02ppm.  Some OCXO have drift down to 0.0001 ppm.
Atomic clock (Rubidium standard, for example).  I'm mentioning atomic clock mostly to give a frame of reference.  More on that here.


3rd, precision oscillator trained with GPS.  Every GPS satellite has several atomic clocks on board.  Usually, there are plenty of GPS satellites in view.  GPS is used for precision timing a lot (less known usage compared to sat nav).  Most GPS receivers have a 1PPS output (one pulse per second), which provides timing accurate to 50ns.
To have a 0.5μs drift over 600s (10min), your clock (the 12MHz clock in your present design) should have drift less than 0.0008ppm.  But if you can correct the timing error every so often from an low drift external source, the requirement for the drift in the clock can be more relaxed.  If you can correct every second, then your clock could have a 0.5ppm drift.