My HD is partitioned in OS and everything else. The first one is limited to 16 GB only, which has already been filled due to the fact that some softwares don't ask where to install (e.g. Avast). How can I set it up so future installations will understand the second as standard?
It sounds like you would need to boot your system using a LiveCD or Safe Mode. Move your Program Files and Program Files (x86) folders to your other partition and then create a symbolic link from your C:\Program Files to D:\Program Files and C:\Program Files (x86) to D:\Program Files (x86)
The easiest solution would be to back up your data and resize your partitions so the primary is larger. You can use gparted or Windows 7's Disk Management applet; but with the Disk Management applet, I think you'll have to do a lot of manual shuffling of your data and partitions to free up space at the end of your system drive in order to grow that partition.
Unfortunately, there is no easy way to do what you want without creating a disk management nightmare for yourself, because shared components and often even copies of the original installers are commonly installed to the system drive. In addition, anything in your Users directory (including your desktop and the AppData folder). There are some programs, like Chrome, that actually install to your AppData folder instead of Program Files.
You could move certain directories to another partition and create NTFS junction points to point to them, as Tom Wijsman noted, but ultimately that will just add to the complexity of managing your data.
It might be worth taking a step back and reviewing your reasons for keeping the OS and all applications separate, since you'll have to reinstall all the applications anyway if you have to reinstall the OS. The only reason I can think of to keep the OS partition small is so chkdsk doesn't take so long (since you have to reboot to run
If you haven't done so already, I'd recommend running WinDirStat on your hard drive to confirm what's eating up all the space. It could be the case that many gigabytes of disk space are consumed by driver installation packages, Java installers, etc.