Be careful going direct to the registry to manipulate printers, it bypasses the spooler which can confuse it, unless you are stopping the spooler, changing the registry, and restarting.
It's better to use PowerShell to add/map the printers as that goes through the correct Windows APIs so the spooler is fully aware. I've done it through logon scripts in the past, having dumped what printers a user has at logoff to a file in their home directory which is read by the script at logon and maps those.
Definitely have all required drivers ,where possible, in your base image as already stated.