I am triple booting Windows7, Windows 8 developer preview and Ubuntu 11.10 64-bit. If Win8 is so important to you, I should tell you that there's no way of adding a boot entry of Ubuntu in Windows8 boot menu and ubuntu wont recognise windows 8 (I have run down
sudo update-grub and it didnt recognize win8).
So install windows7 in as small partition as possible. Use easeus partition manager or gparted live cd or any Ubuntu live cd (select Try Ubuntu and use gparted).
You can download gparted live here. There are also instructions to make a live cd/usb over there.
Resize your win8 partition and make a partition for win7 and some free space for Ubuntu,and install win7 in the partition. It is good to have a patition for data (so that it can be accessed in all 3 OS es, and it would be convenient if Ubuntu, Win7 and data are all in extended partition). This is how my partition table looks
Windows 8 recognizes Win 7 and a menu entry of win7 will be present in win8 boot menu. Now boot into Ubuntu live cd installer and use advanced option and select free space and select add option and make a partition for
/home, and swap and install the bootloader in the respective
/ partition and remember the partition (like sda7). Once installed, do not restart, just close the window and open a terminal and run the following command
sudo dd if=/dev/sda7 of=/media/SHARE/ubuntu.bin bs=512 count=1
if is input file path and
of is the output file path. Copy the created ubuntu.bin into the C drive of win7. Now boot into win7 and follow this article.
After this just select the boot options of win8 and make win7 as default OS to boot, which will give you win7 boot menu with win8 and Ubuntu