If you create routes from each line segment using the Create Route Tool http://pro.arcgis.com/en/pro-app/tool-reference/linear-referencing/create-routes.htm using a long field that stores the line objectid values for the route ID and use the two fields option with two double fields where the From field is 0 and the To field is the line length to retain the line direction.
Calculate the XY coordinates of your addresses into two double fields.
Then use the locate features along route tool which only requires a basic licence. Use the locate all features with a reasonable search radius and the generate distance field option. It creates a near table based on measure and offset side distance from the line with positive and negative distances distinguishing right from left.
Use the Make Route Event layer with the table and routes and use the Advanced options to add an Angle field for the Normal to the line. Export the event points to create real points. Add two new XY fields for the point on line coordinates. You can calculate an angle between the real point and the line and compare that angle to the line normal angle. At knuckles and cul-de-sacs it doesn't matter if it is not perpendicular to the line, but it does at intersections. Low measures are at or closest to the From end and high measures are at or closest to the To end and the distance sign separates points on each side of the line.
Anyway everything is there for you to work out how to use only points on the correct line at the correct end and the correct side for the address fields.
See my Blog for more information
https://geonet.esri.com/blogs/richard_fairhurst/2014/08/29/assigning-address-ranges-based-on-existing-address-points