As you probably know - one of the most important things about your serve in tennis is a consistent toss. One that produces the ball following the same height and trajectory each time. You can even just practice your toss by itself, without actually hitting the ball (you might have done this). The goal should be that the ball lands between a foot or two inside the baseline if you let it drop.
Another thing to do in order to have a consistent toss is to pay attention to the position of your hand relative to your shoulder when you let go of the ball. You want to let go and toss the ball into the air when your hand is level with your shoulder.
If you let go of the ball before your hand is level with your shoulder, you are likely to have a toss that does not go high enough and that goes too far forward into the court. If you let go of the ball too late (when your hand is above your shoulder) you are likely to have the ball go too far back behind your head which will lead to you hitting the serve long.
If you pay attention to those things and practice your toss by itself, it should improve. Keep in mind that a good serve can take a lot (thousands) of serves. Whenever I try to work on mine I take a basket of balls to the court with me so I can practice the motion repeatedly and focus on my service motion without worrying about having to pick up balls very often.