Hi Marco,
In your code you're only using the gyroscope X and Y axis for roll and pitch, you'll also need to read the Z axis for yaw.
For the motors use the analogWrite() function rather than the servo library. To use analogWrite() at 490Hz on the Nano use digtal pins 3, 11, 9 or 10. (Pins 5 and 6 operate at a higher frequency, too high for the ESCs). The servo library operates at 50Hz and this frequency is not enough to allow the motor ESCs to stabilise the dualcopter.
Finally, I'd comment out the accelerometer and complementary filter code for now. Before you can implement auto-level you'll need to set-up the dualcopter using only the gyroscope, with the input from the pilot converted to degrees/s. This is variously called aero/rate/gyro mode and will ensure that you have your inner gyroscope roll, pitch and yaw rate PIDs tuned correctly. This is necessary before moving on to auto-level. For the PIDs, initially tune using the P term only. You'll be able to fly using the P term alone. Add the I and D terms after you get airborne.
To test the dualcopter I'd first remove the props and test it on the bench. You'll know when it's working properly, because with zero pilot input (0 degrees/s on roll, pitch and yaw) and a little bit of throttle, the motors and servos will oppose the aircraft's motion in an attempt to stabilise it.
Your dualcopter looks cool, by the way, something out of the ordinary.