I search the datasheet of the AK8963 and find the 16bit ADC sensitivity is 0.15μT/LSB. I think the output equal "ADC value * sensitivity" which equal "headingx / (1/0.15) = headingx / 6.667".
You might be on to something. I think this code originally comes from somewhere else so can't really answer why it is 666.7. I guess it hasn't caused a problem as it normally is the heading that is interesting.