If you have accurate home switches then you would not have these problems. Home the machine on start up jog to where you want the offset zero to be then if for any reason you get out of position and need to restart at any point in the code its just a case of re-homing and doing a Run From Here.
This also brings up a question, it sounds like your drives are constantly faulting, why is that? there must be something wrong somewhere.
Hood