Your technique will have to vary depending on the scale of geometry differences, and the type of geometry.
Polygon to Polygon could be easy (create points from the poor geometry layer -> spatially join to the good geometry -> look for polygons get have multiple or no points -> manually adjust those)
Point to Point could also be easy (search for nearest neighbour -> manual adjustment for multiple or no matches w/in a tolerance)
In both cases you'll need to run iterations in tolerances to get a balance of good data conflation versus manual edits. It's tough to get 100% automated, but if you get 80% you have still save a TON of manual work.
Line to line is harder, but the same approach can work, but it may take some additional filtering/tolerance efforts to get thing right. (perhaps look for same length/azimuth of lines as well as proximity).
Safe Software's FME has some good transformers (tool boxes) that you can chain together to do some awesome conflation. They allow things to run fast and you can quickly see your results in memory, run alternative scenarios, generate metrics, etc.