Ich schließe mich dabei Ceos an. Dass es bei dem Asuro kein Problem mit der Nähe zu den Motoren gegeben hat muss aber für deinen Fall noch lange nichts heißen. Unterschiedliche Motoren stören unterschiedlich stark. Als Beispiel. Wenn du einen guten Industriemotor nimmst, wirst du selbst mal direkt am Gehäuse keine Störung feststellen bzw. die Störung geht im Grundrauschen unter. (Hängt natürlich auch von der Motorgröße usw ab - Bei einem 100 kW Motor wirst du auch bei guten Motoren noch ein externes Feld messen).

Trotzdem gilt -> Check die Versorgung!. Es empfiehlt sich dabei eine Kombination aus einen relativ großen Elko und einen kleinen Keramikkondensator möglichst nah an den Sensor zu setzen. Wenn der Sensor ein analog Signal ausgibt sollte man auch schauen, dass diese Leitung möglichst weit weg von den Motoren geführt wird.

Du kannst auch einen Sensor ausprobieren der Kompassdaten mit Beschleunigungs und Gyrowerten fusioniert (oder die Fusion selber machen - würde ich aber nicht machen . Ich kann da den BNO055 empfehlen (Wird in seeehr viel Smartphones verbaut), aber ich wette HaWe wird dir noch schreiben wie schlecht und schlimm er diesen Sensor findet und einen anderen vorschlagen...

Was deine Zusatzfrage angeht:
Nein GPS ist dafür gerade im Indoor bereich komplett ungeeignet. Auch im Außenbereich musst du erst einige Meter fahren um eine Information über die Ausrichtung zu bekommen. Dein Handy fusioniert an dieser Stelle Kompass mit GPS.