I’m not that fancy.
I use dsadd and, if needed, use Powershell to set user attributes.
I have to watch the users lists, though, because I get a few people with two last names that are not hyphenated.
We’ve got about 5,000 users in 14 companies. There’s a lot of turnover and transfers so we automate as much of it as we can. We also use Exchange so email provisioning is part of that.