Practice.
I land a lot of bubble when i play nami, but it wasn't always that way. Knowing the delay of the skillshot you're throwing at is also very important to know.
Lets take thresh for example. Before throwing his hook, thresh has an animation to warn that hes going to throw the hook. While I don't have the exact time of his animation, it last about 0.5 sec. Then there's the projectile speed of the hook that last, to go at full range, another 0.5 sec. Combing those two will make about 1 sec delay before the hook reaches the preferred destination.
So what do you do with such long delay? well, you have to know your enemy and how he moves. How do you do that? Experience will make you land skillshot better as you will have fought many players, know the delay of your skills and will have new strategies, but it's also important that you get as much information of the enemy movements. By knowing their movements, you can predict where they will be going and get some easy skillshots on them. Lastly, it's important that you know when the enemy is under pressure. During a teamfight, it's easy to land skillshots. Why? because people are under pressure and are worrying about other stuff and thus, they don't think about the skillshots from the other peoples that threaten him.
In the end, it takes time and one thing I do to help aspiring nami mains is go do a little 1v1 vs them. By doing that, I show them how my bubble skills are way more advanced and during the fight, I explain my thoughts and the reason why I can land them easily. So if yoou have a friend and you both have nothing to do, doing 1v1 with each other by just landing skillshots can help.