For windows 7 or 8 a partition of 80gb will do well. For ubuntu you can get the work done in around 50-60gb . Also Install Windows first, then Linux. You can size the partition in the Windows install, to leave enough unallocated for your Linux install.
You want to do it in this order for several reasons. First Winows runs best if in a partition that is close to the root of the drive, from a primary bootable partition. Linux doesn't care where it is, nor if it is a primary or logical partition.
For dual windows install in the order xp -> windows vista/7 -> windows 8/8.1
Second, Windows assumes that it will be the only OS on a system, so if there is another bootloader on the system, it will over-write it. It's boot manager will find other Winodows OS instances, but does not look for Linux installs, and will not boot Linux. (Not politically correct?) Install Windows first, then when you install Linux. At the end of the Linux install, install Grub2 as the boot manager. It will find your Winodws install and automatically add it to it's boot menu.