Your lerp system is probably about as accurate as it can be. You could try taking in to account the sizes of the objects to improve it slightly.
Collisions don't actually occur at specific points: collisions are always regions of the objects overlapping each other, which is going to be an unusually shaped polygon rather than a point. So since collisions have an area, there's no one point you can say the collision happened at. Estimating based on the object sizes, distance apart and relative angle is the best way to go.