I'm not sure they are perfect. I'd like to see the amount of ammo reserves matched to the total damage able to be done.
Using the example above:
MC = 1D/shot * 2100 rds. = 2100 damage
C = 5D/shot * 420 rds. = 2100 damage
RG = 10D/shot * 210 rds. = 2100 damage.
Note that numbers are for argument's sake only and don't reflect in-game values.
Then to balance the weapon, you change the costs, reload speed, flight time, magazine capacity, etc. to alter the DPS and modulate the skill ceiling.
As noted, Cannons are good close in against large ships targeting subsystems. The downside is that they suck against small/fast ships, and are always reloading. But they are still instant fire to allow for "perfect" timing. They come in both gimballed and fixed varieties and are available for most sizes of hard points.
Railguns have great range and accuracy, but have the charge up time and long reload.
So I already feel that they are "balanced" for what they should be used for. The problem that I have, really, is when you're in extended fights/areas. With the higher powered weapons that are already "balanced" for certain needs, you really only get into a limited amount of combat before you need to go and reload. Even when you'll likely be missing more often.