Faits: A. S._ a été victime d'un accident de plongée en 2003, au lac X._, sur la commune de Y._. Le lac est situé à plus de 2500 mètres d'altitude. L'accident s'est déroulé dans le cadre d'une sortie organisée par deux clubs de plongée de la région et à laquelle participait une trentaine de plongeurs. Sur le site, S._ a proposé à E._ de plonger avec lui. Ce dernier a accepté, en précisant qu'il avait l'intention de plonger profondément et pour une longue durée, soit plus d'une heure. Les deux hommes ne se connaissaient pas, mais S._ savait que E._ était expérimenté et qu'il avait l'habitude de plonger à de grandes profondeurs. S._ est titulaire du brevet de plongeur trois étoiles (P***) délivré à l'époque par la Fédération suisse de sports subaquatiques (FSSS), par l'intermédiaire de sa commission technique (aujourd'hui: CMAS.CH). E._ est pour sa part moniteur de plongée deux étoiles (M**) CMAS.CH/FSSS. A 13h30 environ, les deux plongeurs se sont immergés. Aucun d'entre eux n'avait effectué auparavant de contrôle précis du matériel de son partenaire. E._ était le plus expérimenté et a naturellement pris la direction du binôme. Selon S._, sa lampe de plongée s'est mise à présenter des signes de faiblesse et à clignoter à une profondeur de 50 mètres, raison pour laquelle les deux plongeurs ont pris la décision d'entamer une remontée. E._ a précisé, pour sa part, que l'incident était survenu à une profondeur de 40 mètres environ, mais que les deux plongeurs avaient «glissé» involontairement à -50 mètres pendant qu'ils faisaient demi-tour. Les deux plongeurs ont atteint la profondeur maximale de leur plongée ( -50.9 mètres) après 15 minutes d'immersion. La visibilité y était réduite. Rapidement après le début de la remontée, à une profondeur de 45 mètres environ, le détendeur utilisé par S._ s'est mis en débit continu, très vraisemblablement en raison d'un phénomène de givrage. S._ a pris en bouche son deuxième détendeur et a averti son compagnon selon la procédure habituelle, à savoir en lui tendant à bout de bras le détendeur qui fuyait. E._ lui est passé derrière et, par erreur, n'a pas fermé le robinet d'alimentation de ce détendeur, mais celui du détendeur sur lequel S._ respirait. Celui-ci s'est trouvé privé d'air et a avalé un peu d'eau, avant de saisir le second détendeur de E._. Pendant cette manoeuvre, après 17 minutes de plongée, il a entamé une remontée incontrôlée, d'une profondeur de 44 mètres jusqu'à la surface, en une minute environ. E._ l'a suivi en tentant sans succès de freiner la remontée. Arrivé en surface, S._ n'a pas réussi à s'immerger à nouveau pour effectuer des paliers de décompression. E._ l'a tracté vers la rive et l'a confié à d'autres plongeurs venus à la rescousse, puis à des personnes restées à terre pour assurer la sécurité. Il a ensuite replongé pour effectuer des paliers de décompression. Avant d'atteindre la rive, S._ a perdu connaissance. Il a été placé sous oxygène pur et transporté par hélicoptère à l'Hôpital Z._. Les médecins y ont constaté des lésions du cerveau et de la moelle épinière en raison d'une décompression incontrôlée lors de la remontée en surface. S._ souffre depuis lors d'une tétraplégie incomplète, en ce sens qu'il ne bouge pratiquement pas les jambes et qu'il est limité dans l'utilisation des membres supérieurs. La Caisse nationale suisse d'assurance en cas d'accidents (CNA) a pris en charge le traitement médical et alloué des indemnités journalières. Par décision du 11 décembre 2003, elle a toutefois réduit de 50 % ses prestations en espèces, au motif que l'accident résultait d'une entreprise téméraire. Selon elle, les risques qu'avait pris l'assuré en plongeant à une profondeur de plus de 40 mètres étaient trop élevés pour être entièrement couverts par l'assurance-accidents. Elle a maintenu ce point de vue par décision sur opposition du 7 juillet 2004. B. S._ a recouru devant le Tribunal des assurances du canton de Vaud. Celui-ci a confié à M._, membre du Bureau de prévention des accidents de plongée (BAP), le soin de réaliser une expertise en vue de déterminer le déroulement exact de l'accident, ses causes et le niveau de risque pris par les deux plongeurs. L'expert a établi un rapport le 28 février 2006 et un rapport complémentaire le 15 novembre suivant. Parmi les causes de l'accident, il a mentionné que E._ avait fermé par erreur le robinet d'alimentation du détendeur sur lequel respirait S._, provoquant une réaction de panique de ce dernier et une remontée beaucoup trop rapide en surface. Il était par ailleurs difficile de préciser si un même incident aurait eu des conséquences semblables lors d'une plongée à une profondeur maximale de 40 mètres. Par jugement du 19 février 2007, le Tribunal des assurances du canton de Vaud a rejeté le recours. C. S._ interjette un recours en matière de droit public contre ce jugement, dont il demande l'annulation. Il conclut, principalement, à ce que l'intimée soit condamnée à lui allouer des prestations en espèces non réduites, et subsidiairement, au renvoi de la cause à la juridiction cantonale pour complément d'instruction et nouveau jugement, sous suite de dépens. L'intimée conclut au rejet du recours, alors que l'Office fédéral de la santé publique a renoncé à se déterminer. En cours de procédure, le recourant a produit un jugement rendu le 4 juin 2007 par le Tribunal des districts de V._ et W._. Ce jugement condamne E._ à 40 heures de travail d'intérêt général, avec sursis pendant deux ans, pour lésions corporelles graves par négligence (art. 125 al. 2 CP). Sur le plan civil, il reconnaît E._ responsable du préjudice subi par S._, mais constate toutefois une faute concomitante du lésé, justifiant de réduire d'un quart l'indemnité mise à la charge du responsable principal. La fixation du montant exact des dommages-intérêts a été renvoyée au for civil. Ce jugement a fait l'objet d'un appel de E._ et d'un appel joint du ministère public. Le 20 décembre 2007, le Tribunal fédéral a invité le recourant à produire une expertise établie le 28 avril 2005 à la demande du Juge d'instruction pénale de U._ par C._, brigadier au Service de la navigation de la gendarmerie de T._, et à laquelle le mémoire de recours ainsi que le jugement pénal du 4 juin 2007 se référaient largement. L'intimée a renoncé à se déterminer sur ces nouvelles pièces.