While Ice technically is Water, some Ice Pokémon have a secondary non-Water typing, like Mamoswine and Abomasnow. Making those have a third typing wouldn't make sense in gameplay terms.
The Flying type is the secondary type of the Normal/Flying 'mons (just take a look at the order of the typing). That's something I never understood myself either.
I think that Rock is resistant to Fire because it doesn't melt as easily as Steel, unless exposed to very high temperatures.
Ghost Pokémon have ghostly characteristics. Dark Pokémon have mischievous characteristics. Dark moves use underhanded tactics, like using the opponent's strength against it, having teammates gang up on the opponent or attacking when the opponent least expects it.
I think Psychic is only effective against Fighting and Poison because of the "mind over matter" concept and the fact that poisons can be neutralized, respectively.
The type chart is fine as is. I'm not sure what introducing another type would do, but I think it's leaning towards imbalancing it further (the type chart was modified in Gen II because Psychic was too powerful).
Swimming is a natural ability for Water Pokémon and flying is a natural ability for Flying Pokémon. However, a Pokémon carrying a person on its back or using these abilities for battle is another story.
Charizard wasn't made into a Dragon Pokémon in Gen I because that typing was considered "broken" back then. Just because a Pokémon looks draconian doesn't mean it is a Dragon Pokémon. Vibrava and Flygon are most likely Dragon Pokémon because they're meant to be literal interpretations of the dragonfly. Altaria is based on the Peng, large mythological Chinese birds with dragon heads.