No rng would just be boring.
Now, outright removing RNG isn't the only solution. Although other games have done just fine without it. Awesomenauts and Heroes of the Storm come to mind.
But there are other solutions than outright removal, though some of the things in that list shouldn't be there.
Crit:
The problem with crit is that when it happens early game, it's most likely the deciding factor between someone living and dying. Remember critplank pushing people out of lane, or outright killing them by pressing Q twice? Very unlikely, but if it happens, he won lane. There was nothing strategic about this, just luck. A battle shouldn't be won because of some arbitrary indeterminable 'roll' decided that you do double damage.
1) Could be changed to a 'charge' system, crit chance being changed to crit charge. 25% will increase charge by 25, hitting or going over 100 will result in a crit, any over 100 is carried over. In order to make this unique from Caitlyn's headshots, make them only count for hitting the same target. Or maybe have it build over time. Or both.
2) Crit damage reduced to somewhere between 25 and 50%. Infinity Edge reduced to somewhere between 20% and 30%. All sources of crit chance could be increased, or given more attack speed or attack damage to compensate.
Either of these solutions would make criticals more consistent, rather than being an outrageous spike in damage for no reason other than a computer checking the clock or whatever they're seeding from.
Elemental dragons simply didn't need to happen. But if they insist on 4 different dragons for different effects, they could've just had them in the same cycle, starting with the same dragon every time. But if no one were fighting it, it automatically shifts. Or maybe there's some sort of trigger on the map to make certain dragons spawn, like shrines that you channel or something. Anything other than a random dragon.
Zyra did not need random seeds. She could've benefited from a much better passive, or an alright passive and just increase the charges/rate of her W.
Cannot say for Illaoi's tentacles. I honestly never played her nor have seen her played much at all. I just know that their location isn't consistent.
Fiora's passive is too strong in her favor 50% of the time, and her absolute downfall 50% of the time. There's just way too much of her power in that passive. If her opponent's vital spawns facing their tower, they can practically all-in her with little consequence. But if it spawns facing her, it's zoning time. She just needs a new passive.
Kindred's jungle camp target being random is probably fine. Probably. I'm not sure if specific camps being targeted is too easy or too hard for them.
Zac's blobs could cause him to fall out of position if he wants to maximize health efficiency. Although, this is a very small concern. Maybe they should always spawn between him and the source that caused the blob to spawn, closer to him, or in the direction he's moving like Draven.
Twisted Fate could simply use a better passive. His Pick a Card should start on a specific card, probably red. The ticking time for cycling them could either mean an instant stun, or a stun that's taking too long to appear and his target escapes.
Bard's chimes spawning randomly don't seem to impact his gameplay. (forgot to mention thresh souls, but same thing)
Blitzcrank's farm stealing ult passive doesn't need to exist. Or perhaps, while his ult is ready, he could gain an attack modifier like Poppy's shield. A ranged attack on it's own cooldown.
Draven's spinning axe is a non issue. He shouldn't stop moving.
Poppy's shield seems like it could impact gameplay enough, it's landing location should be consistent, or at least, somewhat consistent.
To sum this up, criticals are too strong when they happen.
And a lot of champions with random factors to them are often less played. It's better to play someone you can be consistently good with.