Yes, you can create a link via
mklink /j "C:\Program Files\foo1" "E:\foo1" if the application doesn’t support it directly. I do this for Steam Applications (games) and it works quite well.
As far as utilities that allow you to do this, have you tried Safe Mode?
Also, make sure to run a command prompt with Administrative privileges. You’ll need
mklink (as its not directly available in powershell)
Hope this helps!