Hmm, could it be just a compass error?
Try this:
1. With the drone off, take a strong magnet and move it around the front legs of the drone for a while.(don't remember in wich leg the compass is)
2. Move the magnet FAR away from the drone.
3. Turn on R/C and drone, do a compas calibration and hopefully it works.
I had the same issue, everything looked fine, but as soon as i pointed the drone to the west, everything went crazy, drifting, compass error etc.
What can happen is this; the compass gets upset by a magnetic field, either by a magnet or a tool etc., by subjecting it to a strong magnetic field, you ca "reset" it.
This can even be a problem on a new drone, as in my case, someone maybe used a magnetic tool during the assembly of the drone.
Anyway, i did this and it has never been a problem since.
Hope this will help you