Jungle is by far one of the most difficult roles to take on because of one major factor, your ability to properly read a situation. I used to main jungle for the longest time (changed to more of a top lane main since last season but still consider myself a jungler at heart) and know that back when I jungled more often I suffered from this very problem. I had a terrible time reading the flow of the game and when the best times to engage were. Vi was one of my mains, I still consider her my main ad jungler, so I know some of what you are going through. Vi can be a tricky mistress when it comes to engaging in ganks and team fights because of how easy it can be with her ult. The big key to improving is to really know when to use it.
Some tips I have learned when it comes to her ult:
- Try to never use your ult at max range when it comes to engaging on a gank, skirmish, or teamfight. The only times to use your ult at max range is to finish someone off who is running away with extremely low health you are absolutely sure you can kill, When your teammates have already engaged on a fight and you can make a surprise entrance to turn the tables, or if an IMPORTANT target is caught major out of position and away from any teammates to help them and your team can handle themselves without you (huge emphasis on important).
- Times to never ult at max range (especially in ganks) when your preferred target is behind any teammates that can disrupt you, when your teammates are next to you at the max range... they will never catch up to you in time to make the right play, or when you are with your team and that squishy target pops out of the fog of war except you dont have proper vision around them or on the rest of their team cause it is probably a bait.
-
Know who you are going to ult in team fights and exactly what they can do as well as anyone next to your target. Just because an ADC or fed mid laner shows their face in a fight doesnt mean you should jump on the immediately, typically they are anticipating you will and plan accordingly, Wait till they burn some cooldowns first because that will make them easier targets.
-
always make sure your teammates are in correct positions before you go in. If you decide now is the right moment to strike and your carries are sitting in front of the rest of your team... it wasnt the right moment. This one can be one of the most difficult to read because it varies so much from match to match, it is important to remember what champs your other teammates are playing and exactly what they are capable of otherwise you might land yourself in a sticky situation with your mates to far away to help or in the worst possible formation.
The only other tips i can really give are things you want to keep in mind as you play. Such as knowing what are the right items to build at what time in a match. What are the best lanes to pressure or help compared to others. what the right times to make your presence known/gank are. Whether or not a lane actually needs a gank or if it only needs the pressure of your presence being nearby (this ones a biggie, just because you go to a teammates lane does not mean you should try to go for a kill, sometimes all they might need is that little bit of pressure in order for their skills to come off cooldown or to regen some health). These are things you typically learn on your own as you get more experience. Just try to keep them in mind as you play so that whenever you do something right or something wrong you can reflect on whatever lead to that outcome and learn from it so you can improve.
One of the last and biggest hints I can give you that you should always keep in mind no matter what role or champ you are playing is. Which is NEVER be overconfident in yourself, be confident in your abilities but NEVER think you are better than someone else. The instant you take on that mindset is when you will start to go ham in the worst possible ways. Always try to stay on the side of caution, especially in ranked. In normals its alright to get a little cocky and enjoy yourself by making silly plays from time to time but it is never alright in ranked. Even if you think you might be a better player than someone on the other team, always expect that they have something hidden up their sleeve or some trick they haven't used yet.
Oh yeah I almost forgot one other important thing. NEVER blame others even if it seems like it was their fault for whatever happened. The truth is there were probably things you could have done differently to prevent whatever you feel like blaming someone else for. No one is ever 100% at fault unless they are actually trying to make your team lose.
Hopefully this helps in some small way for you. whether it does or not though, I wish you good luck on the fields of battle.
edit: after reading one of your replys again I felt i needed to add one last little footnote. Do not get to focused on yourself, you are better off thinking about what you can do to get your team ahead and not how you alone can get ahead. Having a good score in the end isn't much good if you still lose. After everything is said and done it is the TEAM that wins the game and not you as an individual. Always try to do what is best for the team and not what is best for yourself.