Playing other champions really gives you a feel for how to handle situations. It is important to know what your champion is capapable of and what they are capable of. I can offer some tips though.
Watch your map: This one is the most important, always watch your map. When more than one person is missing on the enemy team you should be moving to a safe position. Make sure you know where your enemies are or where they were heading last seen. Keep the map scouted and when 3+ people are missing you should be trying to bunch up aswell. If theres 3 or more people missing and you're pushing a lane deep then most likely they are coming to kill you.
Know your role: If you're the tank, be the tank. Protect your squishies, stay close to them and protect them. They are usually your carries and thats how you will win the teamfights. Rally your team, don't be afraid to boss them around. "All push mid" "Group up". Late game power is all yours as the tank, you engage, you chose where and when to engage and where to push. Without you your team is pretty useless. If you're the carry, stick to the tank farm within moderation and keep an eye on the map. You're who they're disappearing to come kill. Stick to the brush when teamfights engage so they can't come in and just ice you and run away. Don't reveal yourself till some spells have been cast and they have already begun focusing another less squishy player. If you're support, keep the tank alive and watch your squishys.
Don't wander: If its late game and you're all level 18 its time to be a team, move together, stay close. Don't over extend and wandering also involves watching the maps. If the enemy team is pushed into their base and fending off super mionons go steal their camps, but just always farm in moderation and never over extend.
Know your enemy: Once again coming back to knowing the champions. If you're the tank and the majority of the enemy team damage dealers are ability power then stack magic resist, if you're a carry and a majority of the enemies are tanky high health grab a madreds and tear them down. Don't trust mobafire 100%. No build is gaurenteed every time. I say this all the time, LoL is dynamic and should be played as such. Build your build around the enemy team and what your team needs from you.
Also a side-note worth mentioning, once you can buy tier 3 runes build some pages for your favorite champions. Try to make ambiguous pages that can apply to for example all AD carries or all tanks. Some good purchase starting points are armor seals, armor pen marks, and magic pen marks. You can use them for basically any character.
Buying oracles elixirs, like many other things, varies intensely by which champion you're playing!
In general, Carries should not purchase Oracle's elixers until they have most (if not all) of their core items. They squish much too easily to make it a worthwhile investment.
On the other hand, tanks and supports are the best candidates for "Oracle" duty. Supports make use of the elixir because they're expected to roam the map while placing their own wards. Any wards they find when placing their own is gold in their pockets and sinks their opponents'.
Tanks benefit from oracles because they have the survivability to protect the buff from fading with a careless death. Since tanks usually are also the initiators, Oracles allows them to keep the battlefield free from tactical stealth in response to their initiation (such as Akali Shroud or Talon Ult).
The circumstances change a little bit if you're playing against Shaco, Teemo or Twitch, as you'll want to trend towards more pink wards / oracles across the entire game. Without the advantage of their stealth and surprise, these champions will quickly fall to your team.
Best Answer
Let's look at this from a team fight perspective and expand from there.
The assumption here is that you have a balanced team with a tank, rdps, mage, fighter and support.
The tank and fighter are going to be what we call "Front Liners". They are going to be the closest champs to the enemy's champs.
Then comes support. The support champ should generally be in range of all the allied champions at the same time if possible. This lets the support champ throw heals, shields, other buffs on his/her allies.
The "Back Line" will consist of your mage and rdps. These guys should be farthest or least accessible to the enemy champions as you dont want your dps and mage (main damage dealers) going down too soon in the fight.
Now lets go over the roles. Front Liners are going to soak up the initial harassment damage in a team fight and maybe even an ult or two. To put it simply, if your tank is taking damage they are doing their job and winning you the game, even if they die. The fighter is going to be dealing some damage taking some damage but should generally be comfortable with the support of their allies.
Support needs to be wherever they are needed. This might be the most complicated role to play. You need to be in a place that is both safe but advantageous. If you can't buff your allies you aren't doing your job so dont be affraid to be in the mix a little bit but watch for assassins and ults like malzahar's, warwick's and ashe's that will leave you out of the fight for some time and probably dead.
Back Liners are your dps characters. Physical, magic mage or whatever, they are your squishies and glass cannons. I am refering to them as back liners not because you want to form physical lines on the battlefield but you want your dps characters to be the least likely to die. As a dps character you want to be close enough to deal damage and no closer. Also as a dps character it is important to focus down a target once the fight has been initiated but make sure it isnt their tank, remember tanks taking damage and/or dying means they are doing their job.
So to expand this Front Line, Back Line concept to the rest of the game is actually fairly simple. Dps wants to be in a position where they can deal damage but not take a lot of damage. This generally means have allied creeps or champions between you and the enemy target unless you are zoning, which is a more aggressive play. As a dps character you always want to be looking for the opportunity to capitalize on enemy mistakes or allied ganks so that you rack up some kills and get money and be aware of ganks on yourself as you will be the target for the enemy team. Keeping a team's dps characters underleveled and/or underfed tends to have a substancial impact on the outcome of the game.
Outside of team fights tanks still want to be absorbing the damage and setting up the dps characters for kills. Your main priority, even if you die instead, is keep your carries (dps characters generally) alive.
Fighters have a sort of hybrid role outside of team fights. They want to be in the fray dealing and taking damage, so long as you are damaging their carries, because they tend to be good at both. Warwick for example, can run up to an enemy champ and use hungering strike. Sure, he might take some damage going in but taking the health from a champ like Ashe and restoring his own health, he tends to come out on top.
And finally support. Once again, you need to be where you are needed. You want to be helping your carries get kills and keep your tanks alive. An important thing to remember is that you want to keep yourself alive too because if you are dead, you aren't helping anyone.
I think positioning can't be considered a science with hard rules because it is completely situational with the "correct move" not always being obvious. Sometimes more aggressive moves pay off and sometimes they blow up in your face but one learns which moments to capitalize on with experience.