Motors maxing out when flight

You are missing a lot of critical calibration and configuration.

Have a look at the How to methodically tune (almost) any multicopter using ArduCopter 4.4.x guide and do all the steps youd didn’t do so far. Download the .zip folder with the param files from the guide, edit each file to suit your copter and upload them one by one as you read along. The guide tells you what to do and which file is needed at any given time. Do not skip any steps! Anything that might seem like a shortcut will result in a worse tuned copter in the end.

Do this and report back if the problem persists.