Well, there are a number of ways to answer this question... and 99.9% of it depends greatly on your web application. There are http load balancers that can do unequal loads which can (for example) put 5% of the load on one server... and the remaining 95% on your normal servers... and the load balancer can keep track of the sessions so a limited set of users will constantly get a specific server... but this isn't how google operates.
What you're looking for isn't simply a matter of load balancing, but rather account management. What Google does for upgrading users, is simply upgrade the data (if needed) behind the scenes and then adjust the user account associated with the newly upgraded account to the new application. It's no different than simply associating an entirely new feature with the user account, and then deleting another feature... except that the "features" might be "gmail version 1" and "gmail version 2". The authentication servers are responsible for "redirecting" the user to the appropriate application within their framework. They simply do it very cleanly. They have scripts on the back-end that make the whole process very seamless. (i.e. install app version 2... both accounts run in parallel... and then remove app version 1)