What is the best way to land skill shots at short range?
Solution 1:
It really depends on the champion whose skill shot you're trying to use. For example, lee sin actually has a significantly easier time landing his q at close range, because he can slow them down first and almost be guaranteed a q.
Other than the obvious answer of "more experience", what I would suggest doing is not getting yourself in a situation where you're not in a comfortable position to skillshot, or wait to use that ability until you're sure it will hit. For example, as Morgana, sometimes I'll either ult first, or wait for someone else to land a snare before I dark binding in lane.
Another example that's probably more related to your question, is when I play Graves. Sometimes they'll get right up in my face, I buckshot, and it's the completely wrong direction. If I had just waited 1 more second before doing it, I would have landed it no problem, and it wouldn't have affected anything else. I just got too antsy to use it and didn't wait for them to be in a position where I knew it was going to hit.
So ya.. I would suggest waiting an extra second if they're right up in your face and you don't know which way they're going to dodge. At the end of the day, without a slow / another stun, and a competent opponent, it's up to chance at close range.
Solution 2:
At extremely short range your best bet is to use smart casting.
The reason you don't use smart casting at medium-long range is that (unless your opponent is moving directly towards / away from you), there is no lead; the skill shot goes where they are, not where they're going.
On the other hand, when you're in melee or near-melee range, there isn't enough time / speed for the lack of a lead to matter. Smart-casting is especially useful when trying to land skill shots on adjacent opponents.
By default, this means shift-cast the ability when your cursor is above your target.