I've been saying "Shabbat shabbat" as a Shabbat greeting for some time now, and when people have asked "Why do you say 'shabbat shabbat' instead of 'shabbat shalom'?", I have answered (truthfully) "I don't know."
But now I have finally figured out what "Shabbat shabbat" means!
This weekend, I learned that the response in Yiddish to "Gut shabbes" is "Good year", meaning "I see your Shabbat and raise you an entire year!".
Rabbinic Hebrew has the summation convention. In Einstein's notation for tensor calculus, if an index is used twice in a single term, it is understood that this term is to be summed over all values of the index. For instance, "aibi" should be understood as "a1b1 + a2b2 + a3b3 + ... + anbn". Likewise, in rabbinic Hebrew, "yom yom" (lit. "day day") means "every day".
Thus, "Shabbat shabbat" is properly a response to "Shabbat shalom". If someone says "Shabbat shalom" ("A Shabbat of peace"), then the response is "Shabbat shabbat" ("Every Shabbat"): may every Shabbat be a Shabbat of peace.
Likewise for shavua' shavua' and chag chag, mutatis mutandis.