Proof $f(\emptyset)=\emptyset$
The empty set is a subset of every set, since $x\in\emptyset \Rightarrow x\in A$ holds trivially because no $x$ satisfies $x\in\emptyset$.
It's the other direction you should worry about, and your proof is wrong. If $x\in\emptyset$ it does not imply that $x\in f(\emptyset)$ - why should it? Moreover, even if it were, you show here that $\emptyset \subseteq f(\emptyset)$ and not vice versa.
In the other direction, assume that $y\in f(\emptyset)$. So by definition there is $x\in\emptyset$ such that $f(x)=y$. However, this is a contradiction, so there is no $y\in f(\emptyset)$ (and hence $f(\emptyset)=\emptyset$). Note that this direction is really all you need.
Let $f:X\ \to\ Y$ be a function. Recall that $f$ induces a function $f:P(X)\ \to\ P(Y)$. To prove that $f[\emptyset]\ =\ \emptyset$. We usually prove the two inclusions: $\ \ \emptyset\ \subseteq\ f[\emptyset]\ \hbox{and}\ f[\emptyset]\ \subseteq\ \emptyset$.
The first inclusion $\emptyset\ \subseteq\ f[\emptyset]$ is always true. Then it suffices only to prove the inclusion $f[\emptyset]\ \subseteq\ \emptyset$. To do this, we must show that the implication $\ \ z\ \in\ f[\emptyset]\ \longrightarrow\ z\ \in\ \emptyset$ is not false for an arbitrary $z$.
The above implication is false if and only if its antecedent $\ z\ \in\ f[\emptyset]\ $ is true and its consequent $z\ \in\ \emptyset$ is false.
But the consequent $\ z\ \in\ \emptyset\ $ is clearly false and so the implication $z\ \in\ f[\emptyset]\ \longrightarrow\ z\ \in\ \emptyset$ can only be true if its antecedent $z\ \in\ f[\emptyset] $ is false.
But $z\ \in\ f[\emptyset]$ is false only if there are no elements in $f[\emptyset]$; consequently, this means that the set $f[\emptyset]$ must be empty; and so $f[\emptyset]\ =\ \emptyset$.
Try the contrapositive: if $A\subseteq X$ and $f(A)\ne \emptyset$ then $A\ne \emptyset$. Indeed, let $b\in f(A)$. Then there is $a\in A$ such that $b=f(a)$. In particular, $A\ne \emptyset$.