zero crossing detector using opamp
If "sjjm" is driving a processor, then it really doesn't matter the width of the pulse, because you can subtract out the average of the width of the pulse to determine the dead center along with some +/- offset too. The key thing for this situation is to have a pulse that is very stable from zero crossing to zero crossing. For people who are using it for a integillent light dimmer, running this pulse into the trigger of a hardware timer is perfect, because the software takes the pulse offset into account for leading the timer value.
If "sjjm" is using this to drive hardware-only (no-cpu) circuits, then it is another issue.