Como é sempre o caso de perguntas como esta, há muitas respostas diferentes, e a maioria delas está errada - pelo menos oficialmente.
As regras para o que acontece em situações como esta são criadas pela Associação Internacional de Transporte Aéreo (IATA) e acordadas por todas as companhias aéreas membro da IATA (que inclui basicamente todas as companhias aéreas comerciais do mundo). A resolução que é especificamente relevante em casos como o que você descreveu é a Resolução IATA 735d (e, em menor escala, 735e).
A versão simplificada do 735d é que quando um "redirecionamento involuntário" é necessário, é a portadora que fez com que o redirecionamento seja necessário e que é responsável por organizá-lo (no discurso da IATA, que é o " membro de encaminhamento "). No seu exemplo, seria a companhia aérea A
Em geral, é tão simples quanto isso. A companhia aérea A é 100% responsável por organizar o redirecionamento. Eles poderiam fazer isso colocando você em um vôo posterior da companhia aérea B, colocando você em um dos seus próprios voos para o seu destino, ou mesmo reservando você em uma companhia aérea completamente diferente.
Oficialmente, as companhias aéreas B, C e o site de reservas não desempenham nenhum papel na organização do reencaminhamento.
No entanto, apesar de ser essa a regra, o que acontece com frequência é que, tendo sido entregue tarde pela companhia aérea A, você chega ao portão do voo da companhia aérea B e descobre que perdeu. Nesse caso, a companhia aérea B pode decidir que é simplesmente mais fácil cuidar de redirecioná-lo. Isso será especialmente verdadeiro se eles tiverem outro vôo saindo no final do dia com assentos disponíveis. Isso também não é incomum quando a companhia aérea A não tem nenhuma presença onde você está nesse estágio (por exemplo, você está agora no terminal doméstico e a companhia aérea A opera somente fora do terminal internacional).
O problema de ir para a companhia aérea B e pedir para ser "re-acomodado" é que eles não são de todo responsáveis por coisas como hotéis ou vouchers de alimentos que você poderia ter sido fornecidos pela companhia aérea A devido a eles causando a demora. Isso é especialmente verdadeiro em países da União Européia, onde existem regulamentações sobre o que precisa ser fornecido - elas precisam ser fornecidas pela Companhia Aérea A, NÃO pela companhia aérea B!