Um navegador nunca deve fazer o downgrade de si mesmo para http, se https não funcionar, porque tudo que um invasor precisa fazer é tornar o https indisponível (por exemplo, porta de bloco 443). Assim, a única maneira de fazer isso é instruindo o navegador do servidor para fazer isso, por exemplo, enviando um redirecionamento http. É claro que isso deve ser enviado por uma conexão segura (caso contrário, um man-in-the-middle poderia fingir), mas infelizmente é exatamente o seu problema que a conexão segura falhe.
Em resumo: Não, não é possível e é melhor assim.
BTW, todos os navegadores modernos suportam SNI, mas nem todos os aplicativos (por exemplo, aplicativos Java, etc.) fazem isso. Se você tiver vários domínios no servidor da Web, mas apenas um único necessário para esses aplicativos, poderá definir o certificado desse domínio como o padrão. Caso contrário, você precisará obter um certificado (mais caro) que contenha todos os domínios necessários como nomes alternativos de assunto.
Edite com outra ideia: o que você pode tentar fazer é baixar uma imagem do seu lado como https e verificar o sucesso com um manipulador onerror na img-tag. Talvez isso não acione um aviso visível para o usuário, mas, ao invés disso, simplesmente não carregue. E se for bem sucedido você sabe que o acesso https é possível e redireciona o usuário.
Além disso, você deve se perguntar por que deseja oferecer https, se aceitar o acesso com http também. Existem dados que devem ser protegidos ou não são. Contanto que você ofereça um fallback para http, é fácil para um invasor aplicar http em vez de https.