Is there a double-reverse make-break-make option? I think the Control Logix has that, I assume for long axes so you can home relatively fast because the first make of the limit switch isn't accuracy critical. That way, even if it starts homing while on the switch it should still right itself.
I've also done homing by using an on-the-fly coordinate redefinition with a registration input. IOW, sail past the home switch (typically a photo looking through a very narrow slot, like 0.010-0.020), and just redefine the axis position on the fly, then stop. You end up on the other side of home, but you're synched to the machine axis coordinates. Have no idea if CTRIO has that capability. I think the new Do-More's are going to (lots of motion stuff built-in, iirc).