Tormach has a program in PathPilot that will probe pockets or bosses at the touch of a button and set the center point.
You are correct in that spindle and/or probe runout can affect the center point setting. The probes that I have seen have adjustments for centering the probe. There is still some possible spindle runout to contend with but if care is used to orient the probe in the spindle exactly the same, runout shooulden't be an issue.
Spindle runout is why I use an edge finder. Its design is such that runout doesn't enter into the determination. Prior the the jump, the edge finder is centered exactly on the spindle axis. Used with care I find that I am consistently repeatable to .0001". In fact, I usually repeat the process two or three times to verify that my trip point is the same to .0001".
My method is to come to an edge rather quickly to get a rough idea as to where the edge is, back off and approach the edge at about .0002"/sec. (my Tormach has a jog feature that moves .0001" with each jog). The reason for going so slow is that it allows the edge finder to find true center. If if is off center and hits the edge it can jump prematurely or if moving fast enough, overshoot the edge giving a false location for the edge. Moving slow gives the edge finder a chance to settle in.
I use a similar process for the mill drill but manually advance my feed while watching the DRO. I will advnce to increas/decrease the reading by .0002" (minimum resolution) and check the edge finder. The actual jump point will be between the last observed centered condition and the first observed jump condition. With some care and practice, rhis is repeatable to .0002".
To speed up the process, once I have hit the work edge, I back off and use my thumb nail or a pencil tip to nudge the edge finder to center again so the number of jogs to find the edge takes two or three seconds.