Faits: A. A._, ressortissant lituanien, est en détention depuis le 8 novembre 2009 sous la prévention d'infraction grave à la loi fédérale sur les stupéfiants (LStup; RS 812.121). En substance, il lui est reproché d'avoir participé en bande organisée à un trafic international portant sur 27 kilos de cocaïne. Il lui est en particulier fait grief d'avoir recruté des transporteurs lituaniens avec un comparse pour le compte de B._, qui prenait des mesures pour organiser ce trafic entre l'Amérique latine et la Suisse. Cette dernière aurait en outre fait transférer d'importantes sommes d'argent à la dénommée C._ pour financer ledit trafic. En Équateur, B._ aurait également agi de concert avec C._, qui assurait le contact avec le fournisseur de la drogue. La détention provisoire de A._ a été régulièrement prolongée en raison notamment des risques de fuite et de réitération. Le Ministère public du canton de Genève a rendu un acte d'accusation le 17 mars 2011, renvoyant A._ et quatre de ses comparses devant le Tribunal criminel du canton de Genève. Statuant sur recours de B._, le Tribunal fédéral a constaté une violation du principe de célérité, un délai de huit mois entre l'ordonnance de renvoi et l'audience de jugement étant contraire à ce principe (arrêt 1B_419/2011 du 13 septembre 2011). B. Le 2 septembre 2011, C._ a été extradée d'Équateur en Suisse. L'audience de jugement initialement "réservée au 21 novembre 2011" a été fixée au 28 novembre 2011. Par courrier du 22 septembre 2011, la direction de la procédure du Tribunal criminel du canton de Genève a informé les parties que C._ serait entendue en qualité de personne appelée à donner des renseignements lors de cette audience. Elle s'est ravisée par courrier du 14 octobre 2011, considérant que la procédure ouverte contre C._ devait être jointe à la procédure visant notamment A._, en application de l'art. 29 du code de procédure pénale suisse (CPP; RS 312.0). L'audience de jugement était donc reportée à la semaine du 12 au 16 mars 2012. A._ a demandé sa libération immédiate à la direction de la procédure et conclu subsidiairement au maintien de l'audience de jugement initialement prévue. La direction de la procédure a rejeté cette requête et transmis la cause au Tribunal des mesures de contrainte (Tmc). Par ordonnance du 31 octobre 2011, cette autorité a rejeté la demande de mise en liberté, en relevant que le report d'audience était justifié par l'interpellation de C._. A._ a contesté cette décision auprès de la Cour de justice, qui a rejeté son recours par arrêt du 22 novembre 2011. En substance, la dernière instance cantonale a confirmé l'appréciation du Tmc, considérant qu'il y avait lieu de juger tous les prévenus ensemble, conformément à l'art. 29 CPP. Selon elle, les "inconvénients" résultant d'une prolongation de la détention du recourant ne constituaient pas une violation du principe de la célérité. C. Agissant sans avocat, A._ a contesté une première fois cet arrêt le 6 décembre 2011. Ce recours a été joint au recours formé par B._ contre un arrêt identique rendu à son encontre. Par arrêt du 21 décembre 2011, le Tribunal fédéral a admis partiellement ces recours, en constatant une nouvelle violation du principe de célérité et en ordonnant au Tribunal criminel du canton de Genève de tenir l'audience de jugement avant le 15 février 2012 (arrêt 1B_684 et 686/2011 du 21 décembre 2011). D. Le 23 décembre 2011, A._, agissant par l'intermédiaire d'un avocat, a formé un nouveau recours contre l'arrêt rendu le 22 novembre 2011 par la Cour de justice. L'arrêt précité du 21 décembre 2011 ne lui avait pas encore été notifié. Le recourant conclut à l'annulation de l'arrêt du 22 novembre 2011, à la constatation d'une violation du principe de célérité et des art. 221 et 237 CPP ainsi qu'à sa mise en liberté provisoire. Il requiert en outre l'octroi de l'assistance judiciaire. La Cour de justice et le Ministère public du canton de Genève n'ont pas présenté d'observations.