My company has two satellite offices on low bandwidth WAN. I had configured roaming user profiles in the traditional way. Problems arose when users would travel to other offices, logon and begin to download their 15 MB profile across this slow pipe. Having the user clean their profile before they leave has not worked.
My solution after looking at several options was to create an environment variable called Prof-svr on each computer that would be logged on by odd users. The variable would then have a UNC path to the given server holding the "out-of-office" roaming profile (ie. myserverProfiles$). I would then modify the User Account to show the profile path as %Prof-svr%%Username%. The downside of this solution is that the user now has up to 3 versions of their roaming profile. I have opted not to synchronize profiles across each domain controller. It has worked well with a little extra effort.