I often run into a case where I need to say I have a doctor's appointment, but how would I properly punctuate it if I wanted to use the abbreviation Dr. instead of the word doctor? Dr.'s appointment looks strange to me.
Basically, the word doctor is a noun, and is the one to be used in any regular form of speech or writing.
Dr., on the other hand, is an honorific. Like Mr., Mrs., or Prof., it isn't meant to be used as a noun at all.
To answer more directly, there is no proper way to use the abbreviated form to indicate possesion, as it isn't a noun.
The abbreviation Dr should only be used preceding the doctor's name to refer to him or her. It is poor style to use it otherwise.
I think when you use "Dr" or "Dr's" (with or without the period) as an abbreviation for Doctor, it's fine if used in an informal setting. After all, you are abbreviating the word "Doctor" in a generic sense, rather than referring to the use of "Dr. Smith" (honorific).
For example, if you were texting someone or posting a "Tweet", either of the abbreviated forms (with or without the period) would be as acceptable as the unabbreviated form.
But, in formal usage, I would stick with the unabbreviated form (Doctor, Doctors or Doctor's). For example if I was writing a letter to my employer, I would say "Doctor's" instead of "Dr.'s or Dr's".
There has been some discussion by others of the "possessive" nature of using "Doctor's".
In your case: "where I need to say I have a doctor's appointment" it's pretty clear what is meant, but in a general sense, it could lead to confusion and I would try to find another way to word it ...
If you say "Doctor's appointment", is this "an appointment with my Doctor", or is it "an appointment belonging to my Doctor"? To avoid confusion you could say "Doctors appointment" (omitting the (') apostrophe), but I think it would be clearer to say "an appointment with my Doctor" or "an appointment to see my Doctor".
I have seen many times they use "Dr.'s". I think it's okay to use it. But if you don't like it this way you can use "doctor's".