Your result is correct, $x_n = 2^n x_0$.
The case of $f(x) = \frac{1}{x}$ if a good example of what can go wrong. There is no root to find as $f(x) \not = 0$ for all $x \not =0$. The absolute value of the residual, i.e., $|f(x_n)|$, converges to zero, while $|x_n| \rightarrow \infty$. If the residual is used to terminate the iteration, then the user will be given the wrong impression, i.e., a root has been found. The morale is two-fold 1) do not feed your software a problem which cannot be solved, 2) always look at the intermediate results.
A good implementation of Newton's method will not rely on Newton's method alone. It will accept a bracket, i.e. an interval $[a,b]$ such that $f(a)$ and $f(b)$ have opposite signs and $f : [a,b] \rightarrow \mathbb{R}$ is continuous. It will systematically shrink the bracket using a combination of Newton's method and bisection.
EDIT: In response to OP's comment.
A formal proof of the fact that $x_n = 2^n x_0$ can be done as follows. Let $V \subseteq \mathbb{N}$ be given by
$$ V = \{ n \in \mathbb{N} \: : x_n = 2^n x_0\}.$$
We must show that $1 \in V$ and if $k \in V$, then $k+1 \in V$.
It has already been established that $$x_{n+1} = 2 x_n, \quad n=0,1,2\dotsc.$$ In particular, $$x_1 = 2 x_0 = 2^1 x_0,$$ or equivalently, $1 \in V$.
Now suppose that $k \in V$. We must show that $k+1 \in V$, i.e., $x_{k+1} = 2^{k+1} x_0$. By assumption, $x_k = 2^{k} x_0$. Therefore, $$x_{k+1} = 2 x_k = 2 (2^k x_0) = 2^{k+1} x_0.$$ We conclude that $k+1 \in V$.
By the principle of mathematical induction, we can now conclude that $V = \mathbb{N}$.
Comment: Depending on the situation, such formalism is overkill. However, it is good practice to write clearly about simple matters. How else can one learn to write clearly about complicated matters?