I am not aware of a standard way to create a Linux roaming profile and certainly as productized as it is under Windows. However, you could use a login and logout script to synchronize or remotely mount your home directory to a central server when you access a machine though this isn't ideal.
I also found this recipe at LinuxSelfHelp for creating roaming profiles but it doesn't quite hit all the same points as Microsoft. Another utility called QuickSwitch helps with roaming network profiles for laptop users but once again this isn't quite what you would expect with regards to a roaming profile.
Another option you may want to consider is a thin client setup. In this situation, the user session completely lives on the server. When users log in they not only get their settings and data but their applications as well. All data and operating system components reside on the server and are then redisplayed back to the user terminal. This is a great way to address transient users since they can bring their whole desktop environment to any network connected terminal though there is limited support for peripherals. You might want to look at the Linux Terminal Server Project which is a good example of how to implement thin client computing under Linux.
This was first published in October 2005