It comes from the Latin musculus (meaning mouse) and Latin has only hard c's. The "c" has somehow become soft or silent during evolution. Why did this happen?
Also, if muscle is pronounced mussle, why isn't muscular pronounced mussular?
There are lots of similar examples with a different consonant: "thistle", "bustle", "whistle", "castle", and so on. I suspect that at some point during the history of English, there was a general sound change: -stle → -sle, and -scle → -sle. It just happened that the only moderately common words that ended with -scle were muscle and corpuscle. In neither of them is the "c" currently pronounced.
The reason that the "c" is still pronounced in "muscular" is that this sound change only happened at the end of a word; it's the same reason the "t" is still pronounced in "castellan".
There are also the rare words "crepuscle" (akin to "crepuscular"), which means twilight, and "arbuscle" (found in Johnson's 1795 dictionary), which meant a small tree or shrub. These words are quite rare nowadays, and I can't find a definitive pronunciation for them on the web.
When will the British-European be brave enough to admit that they learned everything from India. The word muscle comes from two words- musculus+ele, that comes from Sanskrit "Mooshak" stands for mouse and "small mouse". It cannot become mussle because its etymology restraints it. Greek-latin is nothing but Sanskritized Hindu language!