Been there, done that, didn't like it...
You can move the common files to the D: drive with NTFS Junction points,
you could also decrease the page file a bit as that won't hurt either and give up hibernation if the difference between a normal boot is not that high. WinSxS might decrease by uninstalling software and removing the 'ehome' things if you don't use the Windows Media Center.
If your using one disk you shouldn't be using partitions in the way you are doing now, it decreases the performance if it needs to switch between the two partitions a lot.
The 16 GB should be fine for above suggestions, but then I would rather take 20 GB just to be sure. 50 GB as suggested by Cheesebaron is too much (if you keep my first alinea in mind) as Windows will never grow to that size. A suggested size would be one partition of 600 GB as partitioning would only be useful if you want to move files you barely use away to the slower end of the disk, like big ISO files...
You shouldn't be thinking of separating in the terms of your system folders, but in terms of everything contained in your user folder. Just ignore everything that's outside of your user folder as you end up running out of space like now and into performance issues. The user folder and the permissions outside of it have been invented so people don't place items outside of it and mess around with the system itself.
Extending the partition is tricky and dangereous, be sure to have a back-up to be sure. It will be very hard as you need to move the start of the second partition which isn't supported so you will have to remove the partition and create it again.