What method works best to batch-assign line segment records falling on polygon boundaries, where one side of the street (line) is one city (polygon) value and the other side is a different value?
One possibility is to use the Split tool to break your streets into sections where they cross city boundaries. This will result in multiple feature classes, one for each line segment entering a polygon boundary.
Then, use the Append tool to gather these feature classes together again as one feature class. Use one of these feature classes as the target and the rest as input datasets. After this, you will have a feature class containing your roads and their attributes separated into separate features by your polygon boundaries.
Lastly, use the Intersect tool to join the attributes of your polygons to your lines. As shown below, the result is a line feature class with both the original polygon and line attributes. In your case, Description would be your road information and Name would be your county information.
In the case where an intersect is performed on a polyline that is exactly coincident with two polygon sides, the results would be two new polyline features for that area. Both would contain the original polyline attribute. Their difference would be the attribute defining the two different polygons.