it seems you'd better study a bit rules of Chinese words' creation, it maybe as hard as how English words came from Latin. I'll try to explain from what I can tell, also please try to correct my English. ;)
"忙" is the root of these words, which means more closely to "busy", less close to "hurry". The left part of this character means "heart" or "mind", right part means pronunciation.
Then here are the four words: 匆忙,急忙,赶忙,连忙, they are all adverbs & talking about how busy or hurry the action could be. The 匆匆忙忙 & 急急忙忙 can be words is because "匆匆", "急急", "忙忙" are significant words; while "赶赶" is not a word, "连连" is a word but "连连忙忙" would be confusing from the meaning.
"匆匆" used to be a word to describe the time goes too fast, hence "匆忙" has the meaning of "to be busy to save time", but it's not too rush. It mostly closes to walking action, eg: 匆忙赶路 hurrying on one's way, 匆忙离开 to leave in a hurry. Normally we don't use "匆忙" to express a transition between 2 actions. BTW, "匆匆忙忙" has the similar meaning but feels more emotional & a bit slower from "匆忙".
"急急" has the meaning of "to consciously rush" because it has a "心" inside the character. So "急忙" has the meaning of "to consciously rush on". We normally use "急忙" to express a transition between 2 actions. "急急忙忙" also has the similar meaning but feels more emotional & a bit slower from "急忙".
"赶忙" also has the meaning of "rush". However the "赶" has a "走" inside the character, so it has more meaning about the real action. It's less using to express a transition between 2 actions than "急忙".
"连忙" means at once promptly. “连” means "to link". So this one is shorter, and mostly has to be a transition between 2 actions. But then, we don't say "连连忙忙" because it can't be extended; whereas "匆匆忙忙 & 急急忙忙" don't have meaning of transition between actions.