I've deployed many times to SFDC using the Force.Com Migration Tool & Ant. In many cases I often end up having to undertake manual steps to get around issues. An example being Flows. Flows cannot overwrite actively running flows in the org where the deployment is being deployed to. When deploying I've had to deactivate and delete flows to allows flows to be overwritten. This is an example of an issue I wondered how CI can get over? There are other issues which arise sometimes which also requires a manual change. I wanted to know if anyone has any tips on how to setup CI in such a way that it can get over any such similar issues? Is there a rule in how the package.xml is broken down. Should the package be broken into different Sub-Unit packages instead of one package which contains all?
Are there golden rules which can be applied to resolve known issues?
Thanks in advance.