We have a need to create three custom permission levels for each site collection that's provisioned. The manual process is tedious and introduces possibilities of human error. What are the options for automating the process?
I've solved this with FeatureReceivers (just like anything nowadays...). Staple a feature onto your site template (or the global) which takes care of creating your custom permissions levels.
Another option is using a custom provisioning provider.