You have a lot of possibilities here. First of all, as it stands, your first sentence is the best one. But those sentences do not really account for the past.
Here are a few possibilities to improve your sentence:
I don't know how I (still) have not had a student named John in my music school (still). - (pick one spot for "still")
I don't know how I have not (yet) had a student named John in my music school (yet). - (pick one spot for "yet")
I don't know how I have not had a student named John in my music school by now.
I don't know how I have not (already) had a student named John in my music school (already). - (pick one spot for "already")
All of these sentences are almost equivalent in meaning, but I personally don't really like using "already" here as it means something slightly different in terms of time passed.
If you want, you can also use a different sentence structure with multiple clauses like:
I don't know how, but I have yet to have a student named John in my music school.
This last one is by far my favorite. In addition, as you can see in all those sentences, "yet" is the most versatile and natural of all of them and can be used in numerous ways, so you cannot go wrong with it.