If you can come up with good "test cases",
you can use them to help you decide if your translations are correct.
Consider statement (a):
$$\forall x(K(x)\rightarrow H(x)).$$
This statement is satisfied in a universe in which the only animals are
some kangaroos (every one of which hops),
some frogs (every one of which also hops), and some snakes (which never hop).
Let $x$ be any animal in this universe.
Then either $x$ is a snake, so $K(x)\rightarrow H(x)$ is true because
the antecedent is false;
or $x$ is a frog, so $K(x)\rightarrow H(x)$ is true because
the conclusion is true (also because the antecedent is false);
or $x$ is a kangaroo, so $K(x)\rightarrow H(x)$ is true because
the conclusion is true.
But it is not true in this universe that all animals that hop are kangaroos.
Indeed, there are some frogs in this universe which are animals that hop
but are not kangaroos.
An alternative way to translate $\forall x.P(x)$, where the domain of $x$
is "animals", is to start with the words
"Every animal" and continue with an English phrase meaning
"satisfies $P(x)$ where $x$ is that animal."
The expression $K(x)\rightarrow H(x)$ signifies
that if $x$ is a kangaroo, $x$ hops;
so we might translate (a) as,
"Every animal is such that if it is a kangaroo, it hops."
The preceding quoted sentence is very awkward English, however.
An alternative wording is,
"Every animal, if it is a kangaroo, hops."
But most people, I think, would have more trouble parsing this
sentence than it is really worth.
Another alternative is to recognize that a common English translation of
$K(x)\rightarrow H(x)$ is, "$x$ hops if $x$ is a kangaroo."
Therefore the fully quantified statement in (a) could be translated,
"Every animal hops if it is a kangaroo."
We can check that the universe of kangaroos, frogs, and snakes satisfies
all of the actual sentences above that start with "Every animal."
On the other hand, if we introduce a kangaroo into our universe
that cannot hop because it has no legs, the mathematical statement (a)
is falsified and so are all of the "Every animal" translations of it.
This of course does not prove that the translation is accurate,
but it is a good test case to weed out inaccurate translations.
I would use similar techniques of modeling and translation for the
other sentences, keeping in mind that sometimes a statement that starts
with $\exists x$ can be translated into English starting with the
words, "Some animal."
Also keep in mind that good models for existential quantifiers
are often minimalistic, for example, a universe with only a single frog and no other animals satisfies (c); so does a universe populated only by a single snake.
But a universe whose entire animal population consists of legless kangaroos
does not satisfy (c).
The negation is correct, though the way you wrote it obfuscates the meaning. I believe the statements are equivalent, but the way you wrote it is less clear. For $\exists!xL(J,x)$, I'd write it as $\exists x(L(J,x)\land \forall y(L(J,y)\implies x=y))$. This gives a negation of $\forall x(\neg L(J,x)\lor \exists y(L(J,y)\land x\neq y))$.
You can then read this as, "For every person, either John doesn't like them, or John likes them and somebody else. Hence, if the second case is ever achieved (John likes that person and another person), then there is no unique person than John likes. If the second case is never achieved, then it is always the first case (John doesn't like that person), so John likes nobody, and so there exists no person that John likes, much less a unique one.
EDIT: fleablood's comment explains your question about your own sentence. If John likes no people, then he certain doesn't like a unique person. If there is somebody he likes, say that person is $z$, then $z$ must satisfy $\exists y(\neg L(J,z)\lor (L(J,y)\land y\neq z))$. Since John likes $z$, the first part of the "or" statement cannot be satisfied, so the second must be, meaning John likes another person who is not $z$. Either way of writing the statement and its negation is accurate.
Best Answer
Your solution can work (though it would just be ∀x(B(x, 1)) ... but in order to work with it, you'd need some axioms about numbers.
This is why the provided solution is preferred. In fact, if you do a contraposition on the conditional, you get:
∀x∃y(B(x, y) ∧ ∀z( B(x, z)→ (z = y)))
and I think that one is really useful: once you know $y$ is the best friend of $x$, then anyone that is a best friend of $x$ must be $y$.
One small note: $B(x,y)$ is here to be interpreted as '$y$ is a best friend of $x$'