Your setup is average compared to other i5-4590 and GTX 970 setups. Some things could be the cause:
1. You just didn't win the silicon lottery. Both your components are just average. Overclocking is the only way to boost the performance.
2. Your drivers may be up to date, the the newest drivers are not always the "best" drivers. Try other drivers and see if it affect the scores.
3. Thermal throttling. Make sure your fans are set to a performance curve when benchmarking. Give the case some good airflow in a well ventilated room. Maybe if you're really squeezing for higher numbers get aftermarket thermal paste and reapply it to your CPU and GPU coolers, remember you want the entire die/IHS covered, but not a thick layer. Thin layer = better heat transfer.
4. Turn off any other programs while benchmarking. Try to kill as many unneeded background services and processes as possible. Make sure Windows update, windows experience, or your anti-virus are not running scans/updates when you run the benchmark.
5. Download GPU-Z and run it. Right click the top of the window for a drop down menu. Check ASIC quality. Below 70% means you'll probably need watercooling to push your OCs, above 70% means you can get pretty good OCs on air. Not too big of a deal, but if you're at like 50% it would indicate an unfortunate card.
Edited- Looking around found more out, added to the post.
Your 970 was only running at 1329Mhz, meaning you were throttling, or your boost clock is turned off, or your card is average. Most benchmark worthy 970s can hit 1400 pretty easily on air. I suspect thermals to be what is causing it. Is your card a reference blower style? List your entire computer specs.