"as streets are not cut as expected"

I think you're expectation here is wrong. There is no reason to expect streets be "cut" at any specific point.

If your tool is getting confused by this, there are literally millions of other intersections that are like this, so how can your tool have any hope of working at all ever? Rather then find and change millions of intersections on osm, why not teach your tool to be a little smarter to understand this? Seems like the better path?