Since your object seems not to be moving most of the time, you may still use an IMU using the following assumption :
If the object is not accelerating and approximately not moving during a long time, then it's probably not moving at all.
Then, use an IMU and check for this condition ; as soon as this condition is detected, consider the position to be that at the beginning of the static phase.
That's simple programming, and very robust to interference if the above assumption is valid.