1) You have high frequency vibration that is significantly degrading the height performance of the second EKF instance using IMU2 and is also affecting IMU1. This needs to be fixed. Ensure you have the pixhawk on soft mounts and do not have stiff or tight cables or anything else that could be transferring vibration into the pixhawk.
2) Test GPS aiding without optical flow and optical flow aiding without GPS first and get both working reliably before trying to combine them.
3) Make sure you have focussed the sensor and for the best position hold use the flow sensor binary as recommended in the wiki http://ardupilot.org/copter/docs/common-px4flow-overview.html
4) Do your initial optical flow testing over a level surface initially and ensure that you can get a solid position hold without GPS first
5) Tuning the EKF is best done by logging replay data and tuning offline using the EKF replay http://ardupilot.org/dev/docs/testing-with-replay.html. It can be done by successive trial and error tests, but this is normally a slow and frustrating process due to the stochastic nature of the errors. You will need to understand the basics of Kalman filtering to perform your own tuning.