Have you considered using Active Setup, to run the command.
msiexec /fu {Product Code GUID of your package} ?
Create the following registry key :
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Active Setup\Installed Components\{Product Code GUID of your package}
Then in this key, create the following registry string values :
StubPath
Version
In StubPath, you need to enter msiexec /fu {Product Code GUID of your package}
and in Version you can enter
1,0,0,0
This should then only repair the user registry entries and, given that the user profile is wiped on logout, would run each and every time the user next logged on.
Might be worth trying the above command interactively first of all (while logged on to a student account) and see whether the repair time is reduced to an acceptable level for yourself.
Regards
Spartacus