I wrote a quick script to automate the intersect geoprocessing. There are 2 inputs, Polyline A & Polyline B, and 1 output- a point file with XY where the two lines intersect. Problem is if the fist input line (A) crosses the second input line(B) twice, it creates 2 points but "merges" them in the output table. The XY calculated thus, is halfway between these two points. What I am looking for is 2 seperate points in the output table with correct XY. (I tried it with manual intersect tool from toolbox and it does the same thing)
The problem here is that the output is a multipoint layer, in which multiple points can be part of the same feature.
Look in Data Management Tools > Features > Multipart To Singlepart, and run that with your points layer as the input.
You should be able to calculate accurate xy coordinates for your points now. I'm not well-versed in arcpy, but I would imagine that the multi-to-single algorithm could be easily incorporated into your script.