One possibility that may resolve this is to use a value in the "Search Radius" option in the Spatial Join geoprocessing tool. Note it will likely require several attempts with different search distances to come up with an effective distance for your data.
Spatial Join—Help | ArcGIS for Desktop
Chris Donohue, GISP
Thank you! Took couple of trials but was able the bring the discrepancies down to minimum!