Instagram semplicemente non supporta video full HD (1080p) - quindi quel livello di qualità è semplicemente fuori questione.
Se carichi video su Instagram a un bitrate o una risoluzione troppo alta, Instagram semplicemente lo ricodifica e fa un lavoro schifoso.
Per quanto ne so, i limiti per i video di Instagram sono: 720p @ 29.97 o 30 fps con 3.5 Mbps di bitrate (h264) con audio mono a 44.1 kHz (non sono sicuro che sia così rigoroso che sia mono, però). In iMovie, devi andare su File > Share > File... e nella finestra di dialogo seleziona: Risoluzione = 720p, Qualità = Personalizzata, regola il cursore a < 3.5, e Comprimi = Migliore qualità. iMovie non ti permette di cambiare il frame-rate del video, quindi il video sorgente dovrebbe essere anche 29.97 o 30 fps. C'è anche un limite di 60 secondi e 15 MB.
Apple's Compressor può essere impostato con un preset per ottenere i migliori risultati possibili per il caricamento di Instagram, ma costa $50.
Un'alternativa freeware per Compressor (per questo scopo) potrebbe essere Handbrake o il "coltellino svizzero" a riga di comando della codifica video, FFmpeg.