Faits:
A. La SI X._ et C._ étaient propriétaires d'un immeuble édifié en 1971, à Chêne-Bougeries. Par contrat du 14 juillet 1997, ils ont remis à bail à D._ un appartement au septième étage de cet immeuble. Conclu pour une durée de cinq ans et demi échéant le 31 août 2002, le bail se renouvelait ensuite tacitement d'année en année, sauf résiliation en temps utile. Fixé initialement à 14 400 fr., le loyer annuel net était indexé à la variation de l'indice suisse des prix à la consommation. Il s'élevait à 15 012 fr. depuis le 1er septembre 2001.
En mars 1999, la propriété de l'immeuble a été transférée à A._, B._ et C._.
Par avis de majoration du 10 avril 2002, les bailleurs ont manifesté leur volonté de porter le loyer annuel, sans les charges, à 15 768 fr. dès le 1er septembre 2002, à 16 512 fr. dès le 1er septembre 2003 et à 17 268 fr. dès le 1er septembre 2004. Ils motivaient ces hausses par une adaptation partielle aux loyers usuels pratiqués dans le quartier.
B. Par requête du 22 avril 2002, D._ a contesté les augmentations et sollicité une baisse de loyer à partir du 1er septembre 2002. La Commission de conciliation en matière de baux et loyers n'a pu concilier les parties.
Les bailleurs n'ont pas déposé de requête en validation des hausses de loyer. En revanche, la locataire a saisi le Tribunal des baux et loyers du canton de Genève d'une requête en réduction de loyer. Elle a demandé préalablement que les bailleurs soient invités à produire toutes les pièces utiles permettant d'effectuer un calcul de rendement et conclu, à titre principal, à ce que le loyer annuel soit fixé à 12 000 fr. sans les charges. Ses conclusions subsidiaires tendaient à une réduction de loyer de 8,26% fondée sur la baisse du taux hypothécaire.
Lors de l'audience de comparution des mandataires du 3 octobre 2002, le tribunal a ordonné une instruction écrite et fixé des délais.
Dans leur réponse du 21 novembre 2002, les défendeurs ont conclu, principalement, à l'irrecevabilité de la demande et, subsidiairement, au déboutement de la demanderesse de toutes ses conclusions. Sur le fond, les bailleurs contestaient à la locataire le droit de se prévaloir d'un calcul de rendement; ils estimaient par ailleurs que la baisse du taux hypothécaire était compensée par l'augmentation des charges d'exploitation.
Par ordonnance préparatoire du 19 décembre 2002, le tribunal a invité les défendeurs à produire les pièces nécessaires au calcul du rendement net de l'immeuble concerné.
Dans leurs écritures du 6 février 2003, les bailleurs ont procédé à un calcul de rendement, tout en persistant à rejeter un tel mode de fixation du loyer; ils ont produit les pièces sollicitées dans l'ordonnance du 19 décembre 2002. Pour la première fois, ils ont fait allusion à la possibilité de «déterminer la valeur des immeubles anciens par référence aux prix du quartier»; aucune pièce permettant une comparaison des loyers n'a été versée au dossier.
Par jugement du 12 juin 2003, le tribunal a fixé à 12 000 fr. le loyer annuel net à payer par la demanderesse dès le 1er septembre 2002. Il a jugé que la locataire était fondée à invoquer un facteur absolu à l'appui de sa demande de baisse, dans la mesure où le précédent loyer résultait d'un bail à loyers indexés. Il a ensuite procédé à un calcul de rendement, jugeant qu'un tel calcul ne pouvait être refusé à la demanderesse dès lors que les défendeurs n'avaient pas apporté la preuve des loyers usuels.
Les bailleurs ont interjeté appel de ce jugement. Ils soutenaient en particulier que les premiers juges auraient dû appliquer la méthode relative ou, en tout cas, apprécier le loyer payé par la demanderesse à l'aune des loyers du quartier au lieu d'effectuer un calcul de rendement. Les défendeurs ont produit des pièces nouvelles, destinées à démontrer que le loyer litigieux se situait dans les limites des loyers usuels dans le quartier. Ils n'ont pas remis en cause, en tant que tel, le calcul de rendement effectué par le Tribunal des baux et loyers.
Par arrêt du 30 avril 2004, la Chambre d'appel en matière de baux et loyers a confirmé le jugement de première instance.
C. A._, B._ et C._ interjettent un recours en réforme. Ils demandent au Tribunal fédéral d'annuler l'arrêt de la Chambre d'appel et de débouter D._ de toutes ses conclusions ou, subsidiairement, de renvoyer la cause à la juridiction cantonale.
D._ propose le rejet du recours.
Par arrêt de ce jour, le Tribunal fédéral a rejeté le recours de droit public formé parallèlement par les bailleurs contre la décision de la Chambre d'appel.

Le Tribunal fédéral considère en droit:
1. 1.1 Interjeté par les défendeurs, qui se sont opposés en vain à la réduction du loyer payé par la demanderesse, et dirigé contre une décision finale rendue en dernière instance cantonale par un tribunal supérieur (art. 48 al. 1 OJ) sur une contestation civile dont la valeur litigieuse, calculée en application de l'art. 36 al. 5 OJ, dépasse le seuil de 8000 fr. (art. 46 OJ), le recours en réforme est en principe recevable, puisqu'il a été déposé en temps utile (art. 54 al. 1 OJ) et dans les formes requises (art. 55 OJ).
1.2 Saisi d'un tel recours, le Tribunal fédéral conduit son raisonnement juridique sur la base des faits contenus dans la décision attaquée, à moins que des dispositions fédérales en matière de preuve n'aient été violées, qu'il faille rectifier des constatations reposant sur une inadvertance manifeste (art. 63 al. 2 OJ) ou compléter les constatations de l'autorité cantonale parce que celle-ci n'a pas tenu compte de faits pertinents, régulièrement allégués et clairement établis (art. 64 OJ; <ref-ruling> consid. 2.2. p. 106, 136 consid. 1.4. p. 140; <ref-ruling> consid. 2c).
Dans la mesure où la partie recourante présente un état de fait qui s'écarte de celui contenu dans la décision attaquée, sans se prévaloir avec précision de l'une des exceptions qui viennent d'être rappelées, il n'est pas possible d'en tenir compte (ATF <ref-ruling> consid. 2c). Il ne peut être présenté de griefs contre les constatations de fait, ni de faits ou de moyens de preuve nouveaux (art. 55 al. 1 let. c OJ). Le recours en réforme n'est donc pas ouvert pour remettre en cause l'appréciation des preuves et les constatations de fait qui en découlent (<ref-ruling> consid. 1.4 p. 140 128 III 271 consid. 2b/aa p. 277; <ref-ruling> consid. 2c p. 252).
Au surplus, la juridiction de réforme ne peut aller au-delà des conclusions des parties; en revanche, elle n'est liée ni par les motifs développés par les parties (art. 63 al. 1 OJ; <ref-ruling> consid. 3.2.2 p. 415), ni par l'argumentation juridique suivie par la cour cantonale (art. 63 al. 3 OJ; <ref-ruling> consid. 1.4 p. 140; <ref-ruling> consid. 2e/cc; <ref-ruling> consid. 2c; <ref-ruling> consid. 2a).
2. 2.1 La présente affaire soulève tout d'abord la question de savoir si la locataire pouvait demander une baisse de loyer en cours de bail en se fondant sur la méthode absolue. La cour cantonale l'a admis. Pour leur part, les défendeurs prétendent que la méthode relative devait s'appliquer en l'espèce; or, comme l'augmentation des charges compensait largement la baisse du taux hypothécaire, la demanderesse aurait dû être déboutée de ses conclusions en réduction du loyer.
2.2 Selon la jurisprudence, une demande de diminution du loyer en cours de bail s'apprécie en principe à l'aide de la méthode relative, en ce sens que le locataire ne peut invoquer que les facteurs de baisse qui se sont réalisés depuis la dernière fixation du loyer (<ref-ruling> consid. 2d/bb confirmé in <ref-ruling> consid. 3 p. 69 et in <ref-ruling> consid. 2a p. 126). Dans des situations exceptionnelles, le Tribunal fédéral admet toutefois que le locataire se prévale d'un facteur absolu et que le juge applique la méthode absolue pour examiner une demande de baisse de loyer. Le cas où le précédent loyer résulte d'un bail échelonné ou indexé constitue l'une de ces situations exceptionnelles justifiant le recours à la méthode absolue (arrêt 4C.291/2001 du 9 juillet 2002, consid. 2b/ff).
2.3 En l'espèce, la demanderesse était au bénéfice d'un bail à loyers indexés et elle a réclamé une baisse de loyer pour la date d'échéance du contrat. Comme la cour cantonale l'a admis à juste titre, la locataire était ainsi fondée à se prévaloir de la méthode absolue.
3. 3.1 Invoquant l'arrêt 4C.323/2001 du 9 avril 2002 (reproduit in SJ 2002 I p. 434), les défendeurs font valoir également que le critère absolu du rendement est inadéquat pour fixer le loyer d'un appartement situé dans un immeuble construit il y a trente-trois ans. A leur sens, la cour cantonale devait appliquer le critère des loyers usuels dès lors qu'elle recourait à la méthode absolue.
3.2 Le Tribunal fédéral a déjà eu l'occasion de se prononcer sur le rapport entre les deux facteurs absolus de fixation du loyer que constituent le rendement net (<ref-law>) et les loyers usuels du quartier (<ref-law>). Dans l'arrêt publié aux <ref-ruling>, qui concernait une demande de diminution du loyer initial, il a conclu à la prééminence du critère du rendement sur celui des loyers comparatifs, en ce sens que le locataire est autorisé à prouver que le loyer, présumé se situer dans les limites des loyers usuels du quartier, procure au bailleur un rendement excessif; demeurent toutefois réservés les cas où il est difficile ou impossible de déterminer le caractère excessif du rendement, notamment lorsqu'il s'agit d'immeubles anciens pour lesquels il pourra être fait application du critère des loyers usuels (arrêt précité, consid. 2b). Dans l'affaire faisant l'objet de l'arrêt du 9 avril 2002 invoqué par les défendeurs, les locataires d'un appartement situé dans un immeuble dit ancien s'étaient opposés à une majoration justifiée selon la méthode relative en faisant valoir un rendement excessif, au regard de la méthode absolue, et la bailleresse s'était alors prévalue à bon droit du critère des loyers usuels pour faire échec au calcul de rendement. En effet, le Tribunal fédéral a précisé à cette occasion qu'en cas d'immeubles construits ou acquis il y a quelques décennies, la hiérarchie entre les critères absolus était inversée par rapport à celle valable pour les immeubles dits récents: si un loyer augmenté selon un facteur relatif rentre dans les limites des loyers usuels du quartier, il n'y a pas lieu de procéder au surplus au calcul du rendement net; en revanche, un tel calcul ne peut être refusé au locataire qui le demande, lorsque le bailleur qui entend augmenter le loyer ne se prévaut pas à son tour des loyers du quartier ou ne parvient pas à apporter la preuve requise à cet égard (arrêt précité, consid. 3a).
3.3 Il ne résulte pas de la jurisprudence susmentionnée qu'un calcul de rendement serait d'emblée exclu lorsqu'il s'agit d'examiner le loyer d'un logement sis dans un immeuble ancien. Au contraire, il apparaît qu'un tel calcul est toujours possible lorsque le critère des loyers usuels n'est pas invoqué par la partie adverse. Contrairement à ce que les défendeurs laissent entendre, il n'existe dès lors aucun principe interdisant de façon absolue de recourir au calcul de rendement dans le cas d'immeubles datant de plusieurs décennies.
4. 4.1 Il reste à examiner si, comme les défendeurs le soutiennent, la cour cantonale a violé l'<ref-law> et l'<ref-law> en refusant d'entrer en matière sur le moyen tiré des loyers comparatifs invoqué en appel et en approuvant le Tribunal des baux et loyers, qui ne s'est pas prononcé sur le critère des loyers usuels faute d'éléments de comparaison produits par les bailleurs.
4.2 Selon l'<ref-law>, le juge établit d'office les faits et apprécie librement les preuves; les parties sont tenues de lui présenter toutes les pièces nécessaires à l'appréciation du litige. Il s'agit là d'un cas d'application de la maxime inquisitoire sociale, qui tend à protéger la partie la plus faible, à établir une égalité entre les parties et à accélérer la procédure. Le pouvoir d'intervention du juge est moins large que dans la maxime officielle absolue; cela résulte déjà de la réserve expresse, selon laquelle les parties sont tenues de présenter toutes les pièces nécessaires pour trancher le cas. Les parties ne sont pas dispensées de collaborer activement à la constatation des faits pertinents et d'indiquer au besoin les preuves à apporter. Pour sa part, le juge ne doit pas instruire d'office le litige lorsqu'une partie renonce à expliquer sa position, mais il doit interroger les parties et les informer de leur devoir de collaboration et de production des preuves. Il est également tenu de s'assurer que les allégations et offres de preuves sont complètes lorsqu'il a des motifs objectifs d'éprouver des doutes sur ce point. L'initiative du juge ne va pas au-delà de l'invitation faite aux parties de mentionner les preuves et de les présenter. La maxime inquisitoire prévue par le droit du bail ne permet pas d'étendre à bien plaire l'administration des preuves et de recueillir toutes les preuves possibles (<ref-ruling> consid. 4a p. 238/239). Par ailleurs, il est admis que la procédure cantonale peut limiter la maxime inquisitoire en instance de recours. Les cantons sont notamment libres d'interdire la production des faits nouveaux devant l'autorité supérieure (<ref-ruling> consid. 2a p. 52; <ref-ruling> consid. 4a p. 239).
4.3 En l'espèce, l'objet du litige portait sur une baisse de loyer que la demanderesse motivait, principalement, par un rendement excessif de la chose louée (critère absolu) et, subsidiairement, par une diminution du taux hypothécaire déterminant (facteur relatif). Les défendeurs se sont opposés au calcul de rendement et ont prôné l'application de la méthode relative; à leur sens, cette dernière aboutissait au maintien du loyer actuel, l'augmentation des charges compensant la diminution du taux hypothécaire. A cet égard, le choix des moyens de défense appartenait aux défendeurs. Le Tribunal des baux et loyers n'avait pas à étendre spontanément l'instruction à la question de savoir si le loyer payé par la demanderesse se situait dans les limites des loyers usuels du quartier (critère absolu).
Les défendeurs prétendent avoir soulevé le moyen tiré des loyers comparatifs devant les premiers juges. Il n'en est rien. Dans leur écriture du 6 février 2003, ils ont expliqué, pour la première fois, qu'il convenait de «déterminer la valeur des immeubles anciens par référence aux prix du quartier plutôt qu'en application de la méthode de rendement qui n'est pas adaptée.» En eux-mêmes, les termes utilisés - «valeur des immeubles anciens», «prix» - ne permettent guère de comprendre que les bailleurs entendaient se prévaloir du critère des loyers comparatifs. En outre, au début du même mémoire, les défendeurs déclarent expressément maintenir que «c'est un calcul relatif qui devrait être effectué dans le cas d'espèce eu égard aux circonstances du litige et au fait qu'il s'agit d'un immeuble ancien, pour lequel la méthode du calcul de rendement n'est pas adaptée.» En tout état de cause, ils n'ont donc pas demandé que, dans le cadre de la méthode absolue, le loyer de la demanderesse soit apprécié à l'aune des loyers usuels du quartier plutôt que sur la base d'un calcul de rendement. En réalité, la référence aux «prix du quartier» n'avait d'autre but que d'écarter le critère du rendement au profit d'une fixation du loyer selon la méthode relative. Devant les premiers juges, les défendeurs n'ont ainsi invoqué comme moyen de défense que le calcul du loyer sur la base de facteurs relatifs; ils n'ont pas allégué que le critère absolu des loyers usuels était applicable en tant que tel au cas particulier.
De plus, contrairement à la prescription de l'art. 274d al. 3 in fine CO, les bailleurs n'ont pas produit devant le Tribunal des baux et loyers des exemples de loyers du quartier permettant une comparaison avec le loyer payé par la demanderesse. Certes, ils ont déposé de telles pièces en appel. Conformément à la jurisprudence citée plus haut (consid. 4.2 in fine), les défendeurs ne sauraient toutefois se plaindre d'une violation de l'<ref-law> parce que la Chambre d'appel n'en a pas tenu compte.
En définitive, force est de constater que la cour cantonale n'a pas méconnu les principes découlant de l'<ref-law>. Au surplus, il n'est pas nécessaire d'examiner le grief fondé sur la violation de l'<ref-law>, lequel n'a, en l'occurrence, pas de portée propre par rapport au moyen pris de la violation de l'<ref-law> (cf. arrêt 4C.199/2000 du 21 décembre 2000, consid. 2c, reproduit in SJ 2001 I p. 278).
5. 5.1 Dans un dernier moyen, soulevé à titre subsidiaire, les défendeurs entendent apporter un correctif au calcul de rendement effectué par le Tribunal des baux et loyers, par l'admission d'une part de rendement supplémentaire destinée à couvrir la perte de valeur induite par la vétusté de l'immeuble.
5.2 L'arrêt attaqué ne contient aucune des données de fait sur lesquelles repose le calcul de rendement qui a permis la fixation du nouveau loyer. En effet, la cour cantonale n'avait pas à revoir le calcul figurant dans le premier jugement, dès lors qu'il n'était pas critiqué en appel. Or, sauf exceptions non réalisées en l'espèce, la juridiction de réforme s'en tient aux faits établis dans la décision entreprise (art. 55 al. 1 let. c, art. 63 al. 2 OJ). La cour de céans n'a dès lors pas à se prononcer sur les éléments de fait pris en considération dans le calcul de rendement effectué en première instance. Le moyen se révèle irrecevable.
6. Sur le vu de ce qui précède, le recours doit être rejeté dans la mesure où il est recevable.
Les frais judiciaires seront mis à la charge des défendeurs, qui succombent (art. 156 al. 1 et 7 OJ). Ces derniers verseront en outre à la demanderesse une indemnité à titre de dépens (art. 159 al. 1 et 5 OJ).

Par ces motifs, le Tribunal fédéral prononce:
1. Le recours est rejeté dans la mesure où il est recevable.
2. Un émolument judiciaire de 3000 fr. est mis solidairement à la charge des défendeurs.
3. Les défendeurs, débiteurs solidaires, verseront à la demanderesse une indemnité de 3500 fr. à titre de dépens.
4. Le présent arrêt est communiqué en copie aux mandataires des parties et à la Chambre d'appel en matière de baux et loyers du canton de Genève.
Lausanne, le 12 novembre 2004
Au nom de la Ire Cour civile
du Tribunal fédéral suisse
Le Président: La Greffière: