O kernel do Linux é realmente bom em gerenciar a CPU, então eu acho que seu problema é relacionado a IO. É totalmente normal que a CPU seja usada 100% quando você está compilando, e é por isso que você pagou.
No entanto, eu concordo com você, a interface do usuário não deve ser tão afetada.
Sobre a falta de resposta do seu sistema
Acho que você deve tentar ionice
diminuir a prioridade de IO do Android estúdio.
Memória
Também é possível que o seu sistema esteja com pouca memória RAM e comece a usar o swap. top
pode ser usado para ver o uso do swap. Isso pode ser corrigido reduzindo o uso de RAM, adicionando RAM ou, eventualmente, ajustando o swappiness do seu sistema.
Infelizmente, não sou usuário do Android Studio e não posso ajudar com a configuração dele.
Sobre o congelamento completo
Isso realmente não deve acontecer, isso é um bug e você deve preencher um bug no bugtracker do ubuntu .
Mas antes de preencher um bug, acho que você deve atualizar seu sistema, incluindo a instalação do kernel HWE mais recente e do Xorg (veja aqui ).