Oi Pablo, tudo bem?
Para pegar a seguinte segunda-feira se o cálculo resultar em sábado ou domingo, você pode usar a função CASE combinada com EXTRACT para verificar o dia da semana. Você pode tentar o seguinte código:
SELECT 
  CASE 
    WHEN EXTRACT(DAYOFWEEK FROM sua_data) = 7 THEN DATE_ADD(sua_data, INTERVAL 2 DAY)  -- Se for sábado
    WHEN EXTRACT(DAYOFWEEK FROM sua_data) = 1 THEN DATE_ADD(sua_data, INTERVAL 1 DAY)  -- Se for domingo
    ELSE sua_data
  END AS primeiro_dia_util
FROM sua_tabela
Para pular um dia se cair em feriado, a sua ideia de ter uma tabela com os feriados é ótima!Mas, ielizmente, o BigQuery não possui uma função incorporada que já saiba os feriados. Você precisará criar uma tabela de feriados e então fazer uma junção com a sua tabela de datas para verificar se a data calculada é um feriado. 
Espero ter ajudado.
Qualquer dúvida, não hesite em compartilhar no fórum.
Abraços!
  Caso este post tenha lhe ajudado, por favor, marcar como solucionado