InstallDir is a compiletime command. If you're setting $INSTDIR in .onInit anyway, using it is pointless.
This is probably all you have to do:
StrCpy $INSTDIR "Your x64 default install path"
StrCpy $INSTDIR "Your x86 default install path"