Actually...4x weaknesses and cancelling out did exist in RBY. The math has been done and all indications are the damage is working that way. The problem was that the designers of the battle engine never really considered what happens when, say, a Venusaur gets hit by a Ground-type attack. A glitch in the programming causes either "It's super effective!" or "It's not very effective..." to appear even when it actually got cancelled out. Which one appears depends on the order in which the factors were applied. I could explain in more detail, but it requires a basic understanding of programming principles.
...and as for your Charizard, sorry to say, Fire-types weren't resistant to Ice in RBY. An Ice Beam would deal standard damage to a Charmeleon back then.
Well, on one hand, I feel it's a good thing that Game Freak represented a wide range of power levels in species. It makes the world of Pokémon seem more credible; in a real, living world, there are going to be creatures that could never hope to stand up to other creatures. To let the rats and pigeons of the world attain power levels that let them stand up to ancient dragons and genetically engineered war machines would just about blow "suspension of disbelief" all to heck and back.
On the other hand, I agree with you that it can get quite annoying when only a meager handful of species are considered worthy of appearing in a serious tournament. There really ought to be more variety in metagame teams than we see after a generation has been around long enough for people to work out what's best. I mean, in GSC, there were, what, a dozen standard species? Less, actually, I think. Out of over two hundred. Even allowing for the rats and pigeons of the world, there should have been more that was usable.
Poryhedron's Monotype Challenges
Winner of the 2007 Pokéhelper Unown Award! Glad I could be of help!
Pokémon GO: Level 37, Team Mystic