well you can't really blame anyone for the ranks you get because the system is based on you relative to other players, so there is no sure-fire way to get an S or S+ because it depends on how others perform. Let's say in a hypothetical world there is a champion that is so broken that good players consistently go 20-0 on them. If you go 15-0 one game you will be like "wow I played so well I deserve an s", but the system says "that game does not meet the threshold for the highest performance standards on this champion" and thus you will not be given an S despite having a very good score.
Getting an S means you have a score that is in the top ~1.5% (I think I read it was this number but I could be wrong) of all games on that champion, so this is why it is not consistent across the board. Going 15-5-10 on Yasuo (hypothetically, not sure what champ you used) in this current patch where he is super strong and where the top performers are performing super well, is not the same as going 15-5-10 on Galio jungle or something like that.