Shawn recently developed a geocoder based on the route concurrency table, so that concurrency route segments can be geocoded as intersections. We are also ironing out the process of maintianing GIS refposts in a hosted feature dataset (facilitating easy Collector/Quick Capture app access) and locating those features to the refpost control state LRM routes as events for geocoding and offsetting.
here are the ingredients we use
ON_ROAD/Route AT_ROAD/Milepost OFFSET DIRECTION
here is the formula:
1. Geocode ON/AT roads as intersections using esri geocoder
2. Obtain Projected XY Coordinate
3. Buffer the point in by offset distance
4. Intersect the buffer outline to the road centerline segments as points
5. In SQL, query the matching ON road (standardized) to the centerline segment road name. CASE Select coordinate directions from DIRECTION (ie N, E, S, W, NE etc) and RANK the offset coordinates so that you are selecting the most "east" of the intersected points, or keep the intersection if it is the most east.
I'll try to find some actual SQL that does the offsetting. With this method we can locate a few hundred thousand crash records in about a workday.