Go Virgin for economy & PE is my advice, they have better seating, less things that are broken, and a better attitude when things aren’t smooth. Also inflight entertainment tends to be better and works.
But BA is better for the higher classes if it can be afforded.
Indeed SAA are indeed motivated to keep the traveller happy.
Finally definintely consider if your relatives are already members of an airmiles loyalty programme. Not a reason to stay loyal, but could be the final tipping point.
ps. I’m with you on a no stop-over for such a long haul flight and risk of not getting your luggage or connection.