I use geoprocessing with large polygon datasets using ArcPy.
I use Multipart_to_Singelpart and Repair_Geometry to remove all invalid geometries, prior using the tools like Union or Intersect. Regardless the correct geometries in the input data the result will contain invalid geometries. So, the invalid geometries appear during geoprocessing with ArcGIS.
These invalid geometries hamper further processing (ArcGIS freezes), so I desperately put a Multipart_to_Singelpart and Repair_Geometry in my script after every step of geoprocessing.
But is there a best practise or setting to avoid or reduce invalid geometries when geoprocessing in ArcGIS?