I am working on generalization of Geological map generalization and as part of it I am dealing with displacement of polygons from each others. Because, in previous steps I enlarged small polygons which are small they became close to each others and now to be displaced. Basic parameter is Object Separation constraint which is 1 mm on the map, meaning, if polygons are closer than 1 mm they should be made further from each other unless it reaches 1 mm distance. Here, is the small portion of the map, with red line 14, 40 meters are distance between polygons before and after enlargement respectively. And in green line 25 meters, is the Object Separation distance, how far they should be.
Select by location with your polygon feature class as both the target and source features. Select features that intersect within a distance of 1 meter. Make a negative buffer -1 meter o whatever your minimum separation distance should be or preferred offset, etc. Reverse the selection on the original feature class and merge the buffered output and the selected features.