I know about MDT, WDS
The way I do it is I create a super generalized image via NTLite and powershell scripts and I deploy it on the system. I do have to create a user account manually in the middle of the process, tho, and wait for the scripts to run post-install upon first logon
Can it be more automated than this? How do companies do it?
User creation is always a separate process from system deployment. I know of nothing that can do both at the same time.
Deploy via sccm/mdt and create the AD user.
You could have a script that you run separately that creates the AD user. This is what I do. Just feed it a csv file.
Though your question merits further research.
Do I inject the csv file into the image like I would a script? Will the csv file be read immediately after the answer file? AFAIK the answer file is always read first