At present i am Triple booting windows7,win8 developer preview and ubuntu 11.10 64 bit.If win8 is so important to you,i should tell you 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(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 accesed in all 3 OS es,and would be convenient if Ubuntu,win7 and data are all in extended partition).this is how my partition table looks like
windows8 recognizes win7 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,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 folder path "of" is output folder path and copy the created ubuntu.bin into C drive of win7.Now boot into win7 and follow the this article.
after this just select the boot options of win8 and make win7 as default OS to boot,this would give you win7 bootmenu with win8 and ubuntu