The bellow described workflow is not commonly accepted. Even more, I am not sure it can be defined as a "good practice" or "unix way".
Nevertheless, it is very convenient and helps to save my working files during disasters.
Notice that this method is suitable and convenient only for computers that are used by a single user. But well, we are working on "personal computers" after all.
So, I usually have two Linux distributions installed simultaneously. At first for easy disaster recovery and also for experiments when I want to test some distro, or to test my software on different distribution.
At first I am creating the boot and swap partitions if needed.
Then, I am creating two relatively small partitions (20..50GB) for installation of two Linux distributions.
On the whole remaining space on the HDD I am creating a single huge partition labeled "work".
Then, when I am installing Linux, I am mounting this partition as a
/work directory (yes, on the root of the file system) and later I am placing all my working files in this partition, leaving the
/home/USERNAME directory to the OS to make inside whatever it wants.
This approach has several big advantages:
You can use your files in every of the installed OSes on the same path. Even if you are booting from an USB thumb drive or CD, you still can mount the work partition and have access to all your important files.
The OS knows nothing about this path, so it will never put its files inside. (in contrast with
/home/USERNAMEthat Linux owns in all possible ways).
The paths to your working files will be always very short and the same.
You can always format one or both of the OS partitions and install different Linux distribution, without need to backup your working files somewhere.
Someone may say that you can mount this working partition on
/home/USERNAME, but this is really bad idea.
Mainly because booting from different Linux instances will instantly ruin your personal configuration files placed in your home directory. Simply because the different Linux distributions often differs in the way they create and use configuration files.