Se uma caixa de seleção estiver desmarcada, ela não será enviada, portanto, definir seu valor como 0 se não estiver marcada não ajudará - ela sempre retornará NULL.
Existem duas maneiras de corrigir isso facilmente:
1) Assumir um NULL nos parâmetros do PHP significa que a caixa de seleção está desmarcada. Se a caixa de seleção nem sempre existir na página, isso pode ser problemático. Pelo que parece, há um número variável de caixas de seleção, então isso provavelmente não funcionará.
2) Adicione uma entrada oculta que tenha o mesmo nome da caixa de seleção com o valor 0 ANTES a caixa de seleção. Se a caixa de seleção estiver desmarcada, o valor do campo oculto será usado, se estiver marcado, o valor da caixa de seleção será usado.
<input type="hidden" name="checkbox_1" value="0">
<input type="checkbox" name="checkbox_1" value="1">
Nota:Se seus nomes estiverem em forma de array (ou seja, eles tiverem colchetes), isso não funcionará, pois os campos ocultos também incrementarão a contagem do array.