Faits: A. A._ est détenue depuis le 25 janvier 2010, sous la prévention d'infraction grave à la loi fédérale sur les stupéfiants (LStup; RS 812.121). B._ est en détention depuis le 8 novembre 2009 pour les mêmes motifs. En substance, il est reproché aux prénommés d'avoir participé en bande organisée à un trafic international portant sur 27 kilos de cocaïne. Il est en particulier fait grief à A._ d'avoir pris des mesures pour importer la drogue d'Amérique latine en Suisse, notamment en faisant recruter des transporteurs lituaniens par B._ et un comparse. Elle aurait également fait transférer d'importantes sommes d'argent à la dénommée C._ pour financer ce trafic. En Équateur, A._ aurait également agi de concert avec C._, qui assurait le contact avec le fournisseur de la drogue. La détention provisoire de A._ et B._ 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._, B._ et trois de leurs comparses devant le Tribunal criminel du canton de Genève. Par arrêt du 26 août 2011, le Tribunal fédéral a constaté que la détention subie du 19 au 22 juin 2011 par A._ n'avait pas été ordonnée selon les formes prescrites par la loi, faute de prolongation de la détention pour une durée limitée en application de l'art. 229 al. 3 du code de procédure pénale suisse (CPP; RS 312.0) en lien avec l'art. 227 CPP (arrêt 1B_386/2011 du 26 août 2011). Par ordonnance du 18 juillet 2011, le Tribunal des mesures de contrainte du canton de Genève (ci-après: le Tmc) a, sur requête de la direction de la procédure, prolongé la détention de A._ jusqu'au 30 novembre 2011, l'audience de jugement étant "réservée au 21 novembre 2011". Par arrêt du 11 août 2011, la Chambre pénale de recours de la Cour de justice du canton de Genève (ci-après: la Cour de justice) a rejeté le recours formé contre cette ordonnance. Statuant sur recours de A._, le Tribunal fédéral a réformé cet arrêt dans le sens d'une constatation de la 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 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 l'audience du 28 novembre 2011. 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._ et B._, en application de l'art. 29 CPP. L'audience de jugement était donc reportée à la semaine du 12 au 16 mars 2012. A._ et B._ ont demandé leur 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é ces requêtes et transmis la cause au Tmc. Par ordonnances du 31 octobre 2011, cette autorité a rejeté les demandes de mise en liberté, en relevant que le report d'audience était justifié par l'interpellation de C._. A._ et B._ ont contesté ces décisions auprès de la Cour de justice, qui a rejeté leurs recours par arrêts 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 la Cour de justice, les "inconvénients" résultant d'une prolongation de la détention des recourants ne constituaient pas une violation du principe de la célérité. C. Agissant par la voie du recours en matière pénale, A._ demande au Tribunal fédéral d'annuler cet arrêt et d'ordonner sa libération immédiate, subsidiairement de renvoyer la cause à l'instance précédente pour nouvelle décision et, "en tout état", d'enjoindre la direction de la procédure de tenir l'audience de jugement dans le courant du mois de décembre 2011. Elle requiert en outre l'octroi de l'assistance judiciaire. Agissant sans avocat, B._ conteste lui aussi l'arrêt du 22 novembre 2011 rejetant son recours. La Cour de justice et le Ministère public du canton de Genève n'ont pas présenté d'observations. 