For me the criteria would be comfort, fare and convenience. The fare is cheaper and apparently from reports I’ve seen the comfort and service are much better than BA’s.
That leaves convenience, and for me the deciding factor would be getting out in SIngapore for a leg stretch feeling haggard after a 12 hour flight and wanting nothing more than a hotel room and bed. Or getting out in Abu Dhabi for a plane change after a six hour flight, so still feeling reasonably rested and then hopefully sleeping most of the rest of the second flight.
In this case I would choose Etihad as they tick all my boxes.
True you will not get BA miles, and I don’t know your circumstances, but maybe you already have enough to qualify for the higher status with BA so one flight more or less with BA will not really change matters.
From a personal perspective, I prefer to fly according to my criteria rather than if I will get miles or not. Though to be honest if I find I’m a bit short towards the end of the qualifying period I make every effort to fly (in my case) Swiss to ensure I keep my Gold status level.