Você precisa olhar para o personagem antes da porcentagem.
sed 's/\([^\]\)%.*//'
Se o caractere anterior não for uma barra invertida, mantenha esse caractere e remova o restante.
Esta resposta assume que o %
não aparece no início da linha. Em caso afirmativo, precisamos verificar isso
sed 's/\(^\|[^\]\)%.*//'