Altere sua estrofe de início para 'ou' assim:
start on ( started A or started B )
Em seguida, adicione um script de pré-inicialização que verifica se ambos os serviços estão sendo executados e aborte o início, se não estiverem. Algo como:
pre-start script
if [ -z 'status A | grep running' ] || [ -z 'status B | grep running' ]; then
stop ; exit 0
fi
end script
Veja a seção "pré-início" do livro de receitas . Provavelmente, existe uma maneira melhor de verificar se um serviço está em execução, mas isso funciona para mim. Adapte-se às suas necessidades.