The things that contribute to getting a high score rating is:
- KDA
- Creep score
- Vision score
- Objective participation (Turrets, dragons, baron, etc)
- Participation (things like damage done to champions, you can get lots of kills but if you only just secured those kills rather than actually do the work for them, the KDA won't mean very much)
- The role you queue up in
- Game time
The last one in the current meta is really the big deciding factor. Games end so fast, that you usually don't get time for the first 5 to really accumulate.
To put it into a simple example. Imagine at the 10 minute mark, you need to be 100% efficient to get an S, then at 20 minutes, 90% efficient to get an S, then 30 minutes is 80% efficient, etc. Back before the meta was so snowbally, I could have games last like 70 minutes, have an above average KDA but nothing too fancy, and still get an easy S. Longer game times means you have room for error to still get an S. Shorter games mean you have to basically have a literal flawless game and perform way above your skill level. There are times where I HAVE had a perfect game, and still have only gotten a B+.
You CAN cheese the system slightly.
I personally got mastery 7 Morgana by going into a 5 man premade, queueing up as Morgana bot (not support), with a support Thresh, basically doing a kill lane bot comp, shutting them down early, we'd both buy mobility boots with oracle sweeping lens, and kill all the wards in the jungle whilst constantly ganking mid and top. I also bought Banner of Command and Z'Rot portal so I could massively shove lanes (which also gave me a boost in CS) and made me basically an off tank when it came to team fights.
Basically, it was a build designed to do everything -- and because of that, all of my scores were generally way higher than average everywhere, allowing for very easy S+'s, on a champion that's not normally played in "bot". There's a chance that if I had queued up for support instead of bot, I may not have gotten those S ranks so easily because the average performance for Morgs queued as support is probably higher than the average performance for Morgs queued as a bot. It could also be the other way around; maybe bot Morgs have a higher average score than support Morgs.
I personally do not like this system because it's supposed to be a champion mastery thing -- not a role thing. You shouldn't be graded different just where you queued up as even with the same champion. If you do well, you do well and should simply be graded as such imo. Not if you do well -- in the role you're playing in with the champion you selected. I understand WHY it is the way it is, but it opens the system up for the kind of abuse I did (even though it wasn't my intention -- I just like playing Morg, and the other guy really likes playing Thresh and support, so we came up with this kill bot lane idea).
Usually, if you can find a gimmick that is off meta, you can get S ranks easily with this type of cheesing without even having to be that good; because the enemy won't expect it and know how to counter it (and in bronze, they seldom even attempt to counter anything). Of course, I wouldn't recommend doing it in ranked with randoms.