No gimp isso é bastante simples.
Basta selecionar a área branca que você quer que seja afetada (suponho que exista área branca também na própria imagem que você não quer que seja transparente, se não, basta clicar com o botão direito do mouse em uma área da cor desejada) para ficar transparente) e clique direito, e no menu de cores selecione "color to alpha" quando eu faço isso na versão mais recente do gimp ele tira os gradientes e faz com que ele se desvanece como você descreve.
Atualização:
A primeira vez que testei isso, usei um Jpeg, mas quando percebi, voltei e o fiz novamente com um PNG e funcionou muito bem com os dois tipos de arquivo.