I only get 277MHs per GTX 1070 MSI gaming z with unlocked wattage and stock voltage. Nvidia-settings reports live core clock of 2070-2080mhz.
I'm using Cuda 8, Nvidia 367.27 and Ubuntu 16.
Which of those 3 things is causing me to get a lower hashrate than other people here?
You need to use Nvidia inspector. Go to p2 clock settings and set mem clock to 500, then go to p5 clock settings and set mem clock to 500, then turn memclock all the way down on p0. The people claiming 300+ mh are running one gpu on the miner. When you use more than one or two gpus on the miner the hashrate decreases for this algo on ccminer. My 1070 will crash above 2050 core clock. You might be able to get the same speed using -i 22 and lower your consumption if you turn down the tdp in the ccminer just released.