Concretely, can I put up a file on a server making it accessible through a public HTTPS URL and be sure that it won't be infected by malware by the time it reaches the user?
HTTPS protegge solo il trasporto. Se questo è il tuo unico problema, HTTPS è sufficiente.
Tuttavia, HTTPS non protegge i file sul server, né protegge il trasporto sul server (a meno che non si utilizzi anche HTTPS o SSH di sicurezza simile). Inoltre non protegge il tuo computer, quindi potrebbe essere possibile che il file binario che spedisci già contenga malware (non sarebbe il primo).
If no, what other ways are there to securely distribute software?
Una buona idea è iniziare con la sicurezza il prima possibile. Cioè assicurati che la compilazione sia corretta (nessun malware sul tuo computer, codice sorgente non compromesso includendo codice sospetto di terze parti ...) e poi firma il file binario, vedi Wikipedia su Code Signing . Se vengono apportate modifiche al software dopo il processo di firma, la firma non sarà valida.