Compass module that doesn't use I2C

That's not necessarily a good reason.
I2C is a bus; as long as the devices have different addresses, all should be good (if a tiny bit slower)