Plug-ins/workflows aren’t batch processing mechanisms. Long running or volume actions aren’t intended to be run from plug-ins or workflows.
Dynamics CRM isn’t intended to be a compute platform and especially isn’t intended as the controller to drive big groups of unrelated updates. If you have a need to do that, offload and run from a separate service, such as Azure worker role in Dynamics CRM Online (see here) or a Windows Service for on-premises deployments.
This question is still open at one end and any new inputs are welcomed. I will be happy to add it to the blog!