Faits: A. Le 23 avril 2009, A._ a été arrêté dans le cadre d'une instruction ouverte à la suite du décès de B._, tué par balles à son domicile de Genève-Cointrin dans la nuit du 25 au 26 novembre 2008. Le Juge d'instruction du canton de Genève en charge de l'affaire (ci-après: le juge d'instruction) l'a inculpé du meurtre, voire de l'assassinat de B._. Sont également prévenues C._ et sa mère D._, qui ont admis avoir chargé A._ de tuer la victime moyennant le paiement de 50'000 francs. E._ est aussi mis en cause pour avoir mis en contact le prénommé avec les commanditaires de l'homicide. La détention de A._ a été prolongée à plusieurs reprises, en raison des risques de collusion et de fuite. B. Par ordonnance du 14 avril 2011, le Tribunal des mesures de contrainte du canton de Genève (ci-après: le Tmc) a autorisé la prolongation de la détention provisoire de A._. Celui-ci a recouru contre cette décision auprès de la Chambre pénale de recours de la Cour de justice du canton de Genève (ci-après: la Cour de justice), qui a rejeté le recours par arrêt du 3 mai 2011. La Cour de justice a notamment considéré que l'existence d'un risque de collusion la dispensait d'examiner les mesures de substitution proposées par le prévenu, celles-ci n'étant pas susceptibles d'atteindre les buts poursuivis par la détention. La Cour de céans a partiellement admis le recours formé par A._ contre cet arrêt, au motif que le principe de la proportionnalité imposait un examen approfondi des mesures alternatives à la détention prévues par l'art. 237 du code de procédure pénale suisse (CPP; RS 312.0), qui pourraient éventuellement pallier les risques de fuite et de collusion, ceux-ci n'apparaissant pas particulièrement importants (arrêt 1B_237/2011 du 7 juin 2011). Donnant suite à cet arrêt, la Cour de justice a transmis la cause au Tmc. Par ordonnance du 21 juin 2011, ce tribunal a ordonné la détention de A._ jusqu'au 21 septembre 2011. Subsidiairement, il a ordonné diverses mesures de substitution et dit que le prévenu serait remis en liberté dès leur exécution. Statuant sur recours du Ministère public du canton de Genève (ci-après: le Ministère public), la Cour de justice a annulé cette ordonnance et renvoyé la cause au Tmc pour qu'il examine de manière approfondie les questions qui lui avaient été soumises. Par ordonnance du 12 juillet 2011, le Tmc a autorisé la prolongation de la détention provisoire jusqu'au 8 septembre 2011, en retenant l'existence des risques de fuite et de collusion et en écartant toute mesure de substitution. A._ a contesté cette ordonnance auprès de la Cour de justice, qui a rejeté ce recours par arrêt du 9 août 2011. En substance, cette autorité a considéré que les risques de fuite et de collusion étaient toujours présents et que les mesures de substitution traditionnellement ordonnées ne pouvaient pas entrer en considération, pas plus que le port d'un bracelet électronique. C. Le 31 août 2011, A._ a formé un recours en matière pénale, en demandant au Tribunal fédéral d'annuler cet arrêt et d'ordonner sa libération immédiate "sous réserves des mesures de substitution de l'art. 237 CPP à prononcer". Invoquant la garantie de la liberté personnelle, il soutient qu'en raison des faibles risques de fuite et de collusion le principe de la proportionnalité devait conduire à sa mise en liberté moyennant la mise en oeuvre des diverses mesures de substitution qu'il propose. Il requiert en outre l'assistance judiciaire. La Cour de justice a renoncé à formuler des observations. Le Ministère public s'est déterminé, concluant au rejet du recours dans la mesure de sa recevabilité. Le 15 septembre 2011, le recourant a présenté des observations complémentaires.