I was getting pretty dismal hashrates on my dual 7990 rig, and I didn't find a solution out there so I thought I'd share my solution, hopefully this will help someone out:
bfgminer -o 127.0.0.1:7002 -u lolz -p wat --scrypt --intensity 13 --gpu-fan 100 --scan auto --thread-concurrency 2 --gpu-threads 2 --worksize 128 --gpu-engine 975 --gpu-memclock 975
Turn off crossfire too. Same settings for cgminer.
Main surprises are lower thread concurrency, and thread concurrency and a modest worksize gave me better performance than the prescribed numbers. I'm underclocking gpu and memory to keep heat down, I can reach 3Mhs with "--gpu-engine 1000 --gpu-memclock 1550" but with heat problems >95C.
This got me to 2.66Mhs (scrypt) stable but hot ~90C. Pretty exciting, since I was getting 900khs to 1.2Mhs and constantly overheating. Planning on re-applying heat grease, and undervolting soon.