I have a couple of twin screw boats. As you say, maintaining perfect straight line is pretty much impossible, but it sounds like you are having more serious issues. in my set ups, both motors have their own respective esc, but then connected by a "Y" lead, so only one common source from the receiver. it might be easier if you read my Fireboat build here on this forum.
So, one motor has its own battery source, its own esc, but operating from one receiver channel (I also have twin motor planes, that have a different set up, but we wont go there!)
It sound to me with your elimination process its one of your components failing, try swopping everything form port to starboard, does it favour one direction?
I bought a simple rev counter from ebay, if you can get one of these, then you can static test the revs and see if there are any fluctuations, or a rapid decrease of one of the motors
http://www.ebay.co.uk/itm/Noncontact-Tach-RPM-Hand-held-Digital-Photo-Laser-Tachometer-Meter-Tester-Tool-/191366974856?hash=item2c8e5c4d88:g:7rgAAOSw1x1UNmoM
I had a problem with a twin motor plane, got one of these, and immediately I could see one of the motors was slowing almost immediately on take off.
I think some pictures and maybe a video, with your specific components would help us
Also, why have you got independant control as that itself could be the cause?