All collision testing in Construct is done by testing 64 pixels at a time in horizontal lines, and it stops on the first instance of touching pixels it finds. So it can't give the average point of collision - and it would be inaccurate up to 64 pixels on the X axis.
Suggestion about picking: Action "remove object from selected object list"; I had this event where there was two sprites created and after creating action, there was an action that set an angle for them. The first object's angle was 0 and the second's 180. But when the second object was created, the first object was still on SOL and setting the angle at 180 would set both object's angle at 180.
Can't you use subevents for this? Use two blank subevents (means the same as Always), and create an instance separately in each event, and set it to whichever angle you want.