Tu peux simplement remplacer tout caractère unicode par un séquence de ton choix. Par exemple tu pourra pourras prendre en compte le no break no-break space en le remplaçant ici par un ~ (ou n'importe quoi d'autre, essaie avec quelque chose come --- pour tester, par exemple):
\documentclass{article}
\usepackage[utf8]{inputenc}
\DeclareUnicodeCharacter{00A0}{~}
\begin{document}
Un test.
\end{document}
(Note: il y a bien sur un no-break space entre "Un" et "Test", mais il n'a pas l'air d'être conservé ici).
Cette technique est bien sur très générale; il suffit par exemple d'avoir:
\DeclareUnicodeCharacter{00B1}{\pm{}}
dans le préambule pour pouvoir taper directement:
$1±2$