Thanks for the help, though I have tried most of that. The undervolting guide is unfortunately only for 7xxx cards, but I solved that by using AMDOverdrive, while at the same time overclocking the card. Thing is they have a lower hashrate overclocked on the ubuntu than they had on the windows machine on stock settings, I tried settings various thread concurrencies and work sizes but it doesn't make a difference. As of now the 6970 is on around 360 kh/s, and the 6950 around 300 kh/s, compared to 505 and 420 while on the windows machine.
Edit: I tried severely undervolt and underclock the 6970 and the hash went up with about 50, thinking there is something fishy with my settings