Por que Base32 tem 60% de overhead e Base64 só 33%?
Porque Base32 usa 5 bits por caractere de saída (32 símbolos) e Base64 usa 6 (64 símbolos). Um byte tem 8 bits, então Base32 precisa de 8/5 = 1,6 caractere por byte e Base64 precisa de 4/3 ≈ 1,33. É uma consequência direta da matemática do alfabeto, não uma escolha de implementação.
Vale a pena usar Base32 só porque é case-insensitive?
Depende de onde o texto codificado vai viver. Em um nome de arquivo, um subdomínio DNS ou um código lido em voz alta por telefone, sim: o custo de 27 pontos percentuais de overhead a mais compra a garantia de que maiúscula e minúscula nunca vão trocar o resultado. Em uma API JSON ou um header HTTP, normalmente não vale, porque nada ali dobra o caso do texto.
Base64 tem alguma variante case-insensitive parecida com o Base32?
Não. Todas as variantes padrão de Base64 (incluindo a URL-safe, com - e _ no lugar de + e /) diferenciam A de a, então decodificar com o caso trocado produz um resultado diferente ou um erro. Para virar case-insensitive, um sistema precisaria normalizar o texto antes de decodificar, algo que o próprio Base32 já resolve no alfabeto.