Hola que tal.
comprueba si existe el directorio, de lo contrario créalo y además tienes un error de sintaxis, prueba y comenta.
Código PHP:
if($nuevo_avatar != $usuario['avatar'])
{
$nombre = $_FILES['imagen']['name'];
$directorio = $_SERVER['DOCUMENT_ROOT'].'soul/uploads/';
if( !is_dir( $directorio ) )
{
mkdir( $directorio, 0777 );
}
move_uploaded_file($_FILES['imagen'],$directorio.$nombre);
mysql_query('UPDATE users SET avatar = "' . $nuevo_avatar . '" WHERE nick = "' . $_SESSION['usuario'] . '"') or die(mysql_error());
echo 'El avatar se ha guardado ';
}
Saludos.