White vinegar is your best friend for this. You fill a plastic bag with white vinegar, fix it around the showerhead with a rubber band or tape so the head is completely submerged in it, and let it soak overnight. The limescale dissolves on its own without you having to scrub like crazy. Then you take the bag off, run hot water through it to rinse, and you're done.
If it's really caked on, you can also unscrew the showerhead (there's usually a collar at the base) and soak just the head in a glass of white vinegar for a few hours. While it's soaking, clean out the little holes with an old toothbrush or a needle to remove the deposits. Just be careful not to scratch the chrome finish if yours has one.
Once it's clean, make sure all the little holes aren't clogged. Sometimes limescale gets stuck in there and that's what creates those weird noises you're describing. Rinse it well with hot water after the vinegar and it should be good. Do this once or twice a year to prevent the next buildup, especially with hard water like you have.