Disclaimer: this comes from the perspective of a native speaker (NE US), not someone well-versed in the technical nature of English grammar; as such, my explanation here is how I make sense of the phrase and my answers to your questions, not necessarily how the answers might be technically correct. (Further note: I will be using $wordtype to indicate you should replace "$wordtype" with a word of that type.)
The expression "smell crazy on him" is a metaphoric idiom that you can generalize to "smell $trait on $noun"; "on" is a word that describes how the sense of smell works, whereas using "in", by saying "smell $trait in $noun", may and can be technically correct, its usage changes the meaning of the phrase.
Saying something like
I smell her perfume on you.
is fairly straightforward; it implies that "I" have observed, using the sense of smell, "her perfume", emanating from "you"; however, in a sentence like
I can still smell the skunk stink in your clothes - have you not washed it out yet?
the use of "in" implies that there is something embedded in "your clothes" giving off "the skunk stink".
Applying this to your example,
smell crazy on him
implies that the observer is observing that "him" is crazy, in the metaphorical sense of being able to smell craziness (or as in a much more common example, smell fear), whereas saying
smell crazy in him
implies that the observer observes something that implies there is "craziness" within "him" - it is neither as straightforward, confident, nor explicit as using "on".
Now, your second question: the usage of "crazy" instead of "craziness".
You are correct. Technically, "craziness" is the more appropriate word to use here, being the noun and not the adjective. English being English, however, "crazy" has evolved to become a noun of sorts, with two definitions: a) a crazy individual (a common meme that is a good example of this usage - excuse the vulgarity - is "don't stick your dick in crazy", to refer to having sexual relations with a crazy individual) and b) the nature of a crazy individual (which describes the usage of the word "crazy" in this quote).
You can certainly use "see" in place of "smell", although it wouldn't be as idiomatic. I would argue that the reason is that odors by their nature are not visible, tangible entities, whereas things you can see are indeed visible and tangible. Hence, as craziness isn't exactly such a tangible concept, "smell" is more appropriate here.
Conversely, in an idiom such as "you can practically see the steam coming out of his ears" - which describes how angry someone is - you cannot replace "see" with "smell" because "steam" is a largely odorless entity, but is a visible entity.
The same logic applies to why the other sense verbs (with the exception of "sense" itself, and "feel" because "feel" has alternative meanings that would allow the substitution to work) - taste, hear - cannot be used in the same fashion.
With regards to your last question, I am inclined to say no, but without being an expert, will not say that it is a concrete no. If you use the substitution "be careful [of]", then yes, this is correct, but this substitution changes the grammatical construction and therefore warrants a different connector.
In my opinion, I would say that the best candidate for omitted connector (which preserves the old-English sense of the sentence as well, to boot) is "in":
Have a care in how you speak.
which is a quite straightforward command that tells one to be considerate in the nature with which he speaks. Alternative suggestions for the omitted connector include "as to" and "regarding":
Have a care as to how you speak.
Have a care regarding how you speak.
although these, in a sense, have a slightly different meaning - that instead of commanding one to integrate consideration into one's speaking manner, these are commands to adjust one's phrasing to bear the appearance of having consideration.