I change linux versions/distributions quite often on one of my computers but I would like to keep my home folder working (keep configuration and files), is there another better solution than making a separate partition for /home ?
I tend to make
/home it's own partition. Exactly how big depends on personal preference, but on a simple Ubuntu desktop probably doesn't need more than 20GB of root filesystem space (the desktop across the room from me is using a whopping 6.5GB!); the rest of the drive could become
/home if you wanted.
You should remember that not everything pertaining to your user account(s) is stored in
/home. There's lots of system-centric stuff in
/etc that won't survive a reinstall. In particular
/etc/gshadow are important. If you reinstall and recreate your users and groups in the wrong order, the UID's and GID's won't match those recorded in your /home filesystem, and your file ownerships will be all messed up.
The solution to this extended problem is a little more complex, since the exact set of files in
/etc that you'd need to preserve are likely to be very specific to your system and what you're doing. One option would be to make a protected directory under
/home and make backup copies of
/etc into it. At least that way you could get back the files that are missing after the reinstall. You might look at etckeeper (yes, it is packaged) as a way to make this more automated. You wouldn't want to restore
/etc en-masse, of course: after a reinstall-upgrade there are likely to be major changes and you'll want to restore files from your archive or repository very carefully.
If you have another computer which is connected to yours via network, you can share your home directory via NFS (or some other filesystem). This solution allows you to change your mount and without repartinioning.
Putting your home directory on some USB stick and mount it from that stick could also be an option, depending from your preferences.