La mejor solución que he encontrado para decirle a la brújula del móvil dónde está el norte es la aplicación Analog Compass. Búscate una brújula convencional, alinea el SGS con ella, arranca la aplicación y dale a Calibrar (o Calibrate). Te guardará el norte de verdad durante unos cuantos días y la diferencia de rumbos será de 5 o 6 grados, no los 20 o 30 que daba antes.
Espero que te sirva.