I'm actually using the Powershell Application Deployment Toolkit as a wrapper for the install at the moment. Allows me more control over the shortcuts and a few cleanup activities.
There is a function in the toolkit for 'Refresh-Desktop' which basically refreshes Explorer.exe.
I've tested this morning and it works fine. Deploying with SCCM now.
Explorer.exe still restarts but at least it reliably comes back!