Is my $0^0 = 1$ proof correct?
It's not a proof, really. You can never prove that something that does not have a meaning has a meaning. You can only define it to be so.
However, what you have written is an informal argument for the definition $0^0 = 1$, and it's a pretty good argument. Specifically, it's an argument that we should define $0^0 = 1$ IF we want some other properties to hold. What properties? Well, you only really employed one property, namely the law of exponents which says that if $a, b, c$ are integers and $a$ is not zero, then
$$
(a^b)^c = a^{bc}.
$$
Your "proof" is essentially an argument founded on the premise we should allow this to be true when $a = 0$ as well. Assuming that it's true when $a = b = 0$, you derive that $(0^0)^n = 0^0$ and $(0^0)^{-n} = 0^0$, and then go on to conclude that $0^0 = 1$.
So what you've shown is that if we want the above law to be true when $a= b=0$, then we better define $0^0 = 1$.
To be sure, there are many objections to your argument:
You haven't really addressed the possibility that $k = 0^0 = 0$.
When you take $(0^0)^{-n}$, you are implicitly not allowing $k$ to be $0$.
Similarly, you haven't really addressed the possibility that $k = \infty$.
The obvious objection: you've assumed the power law $(a^b)^c = a^{bc}$ should hold when $a = b = 0$.
Finally, you haven't really convinced readers who think that $0^0$ should be left undefined, because you've started out by assuming it has a value.
Fortunately, the first two bullets can be addressed by arguments similar to yours; for instance, if $0^0 = 0^{-0}$, then it should be its own reciprocal, so it doesn't make sense for it to be $0$ or $\infty$.
For the third bullet point, you could address it by considering other properties of exponents and extending them to $0$, and showing that in all or almost all cases $0^0 = 1$ seems to be the most natural. Of course, this won't convince someone who doesn't see any point in extending any of the properties to begin with.
The last bullet is more tricky. In analysis, $0^0$ is an indeterminate form meaning that we don't want to say that it is $1$ or any other particular number. And, it would actually be generally bad in analysis if we were to say that $0^0$ had a value; it would be wrong to assign it any value at all.
In summary, I have described what your argument is -- an argument, and not a proof, that $0^0 = 1$, and I think it's a decent argument. And I have discussed some possible objections to it.
In fact, note that $0^0 = 1$ is commonly taken to be the definition, used especially in abstract algebra and combinatorics.
Even Google says it's $1$.