I'm currently working with a point shapefile derived from OSM that displays intersecting vertices of a road network. This shapefile has had duplicate geometries removed, resulting in a single point per link intersection. Although OSM is rather close to actual road topology, this leaves a junction with divided roads using 4 points at 1 road junction. I need to merge these 4 points into 1 to create a single point at a junction. There are occurrences where the junction will have 3 points, these will also need to be merged to 1 center point as well. A graphic displaying what needs to be done is attached. The blue points are the original junction points, while the green center point is what is needed. The shapefile consists of over 20,000 unique points, therefore manually completing this task is not efficient.
I have used Arcmap 10.6 and ArcGIS Pro (similar tools) to try converting the roads into polygons and getting the center line from the polygon, where I can then split at intersections and get single points at intersections, however this didn't work for extracting the correct points. I have also tried snapping points within a distance, however this didn't create the new center point I'm looking for. I have also tried dissolving the point shapefile based on common attributes, but the attributes are not consistent enough and this also doesn't create a new center point. I have spent hours researching this topic, but always came up empty handed.
ArcMap 10.6 and ArcGIS Pro with advanced license. My scripting knowledge is almost non-existent.