If you are afraid of making a bad call and hesitate as a result then you've probably already lost. Be decisive, but at the same time don't be afraid to cancel a call if the situation changes (eg you're pushing and you suddenly lose two players). Just try not to "un-cancel" calls too often though, because nothing is worse than telling your team "Get in! No wait get out! Actually get back in!". It is very likely that the confusion and chaos created by rapidly making contradicting calls will cause your team to lose regardless of other considerations.
Whenever possible, try and tell your team ahead of time what they're going to be doing. It is much easier for your team to coordinate and prepare if they have at least a few seconds warning. The most common example is calling that you're going to push when you get uber. As long as you call your percentages your team will know exactly when to start moving.
Your team may lack context for some of your calls. It is good to be specific as possible within practical limits. If there is information that would be useful to your team and it can be communicated quickly and efficiently, then you should incorporate it into your call. Just calling "push left" often doesn't give your team very much to work with. You should tell your team who is getting the uber and approximately when you're going to pop it. For example, "I'm gonna take pocket and scout left side. We're popping through". If you're holding your team needs to know whether to hold close or passive. If you're pushing it may be useful to tell your team to push slowly or to "go aggro".
It is good to give your team "status updates". Basically, since you are probably the best judge of what the overall situation is like it is important to communicate with your team how the fight is going and what their priorities should be. The most important example of this is to tell your team how effective your uber is ("good uber" or "bad uber" is simple and to the point). If your team hears "bad uber" they know to gtfo. Other common examples include "Our health is shit. Back out.", "We're winning this, keep pushing" or "We have to deal with the stuff behind".
When something needs to be done calling a player by name and telling them to do it usually results in it getting done faster and with minimal confusion. If you just say "Someone go sac for their med" the results are unpredictable. Mostly likely there will be a huge delay before someone does it, but it is also possible that no one will go or that two players will go and die instead of one.
As maincaller it is important to be able to predict the actions of the enemy team. Being able to anticipate how, where and when they will push, whether or not they will run kritz, what offclasses they will use (if any) and most importantly, how they will play at mid will give your team a significant advantage. It is good to predict how the enemy team will act both based of what you would do in their place and how they have played the game so far.
It is good to learn (or even develop if you're feeling bold) and have your team practice "set plays". I struggle a bit to define "set plays", but I suppose the simplest definition is a push where there is a very specific objective in mind and/or some players are given very specific roles. Some examples I can think of off the top of my head are the "heavy push", the "4 man sac" and the "wraparound". Being able to properly execute these plays will give your team a huge advantage. Since these plays are usually super effective against teams that are unprepared for them it is a good idea to teach your team how to counter them as well.