BA, as an agent in this instance, has to follow the commercial policy of CX for flight cancellations. Nothing BA can do above what CX permits it to. A full refund is of course an option but if CX does not allow re-booking passengers onto other airlines' services then BA can't offer you that. I'd be really surprised if CX allowed re-booking onto other carriers as usually in such instances airlines allow re-booking onto their own services or those of their partners.