Faits: A. F._ s'est annoncé comme demandeur d'emploi à l'Office cantonal de l'emploi (ci-après : OCE), le 28 octobre 1999, puis le 1er avril 2004. Il a indiqué être domicilié au numéro 10 de la rue X._, à V._. La Caisse cantonale genevoise de chômage (ci-après : la Caisse) lui a versé des indemnités journalières pour un montant de 66 370 fr. 30 durant un premier délai-cadre d'indemnisation, du 28 octobre 1999 au 27 octobre 2001; elle lui a encore versé 60 944 fr. 50, également sous forme d'indemnités journalières, lors d'un second délai-cadre d'indemnisation, du 1er février 2004 au 31 mars 2006. Le 21 juillet 2006, le Ministère public du canton de Genève a informé la Caisse de l'ouverture d'une procédure pénale contre F._, pour vol et utilisation frauduleuse d'un ordinateur. L'instruction avait révélé que le prénommé résidait en France depuis l'année 1999, malgré un domicile officiel à V._. Par décision du 23 août 2006, la Caisse a nié le droit de F._ à des prestations de chômage, avec effet rétroactif au 28 octobre 1999, et a exigé la restitution des prestations versées depuis cette date (127 314 fr. 80 au total). Le 29 août 2006, elle a déposé plainte pénale contre F._, au motif qu'il avait donné des renseignements erronés à l'OCE, de manière à percevoir indûment des prestations de chômage alors qu'il ne remplissait pas la condition du domicile en Suisse. F._ s'est opposé à la décision de restitution du 23 août 2006. Il a allégué qu'à l'époque des faits litigieux, il était domicilié chez ses parents, au numéro 7 de la rue Y._, à V._, avec son épouse et son fils. L'adresse indiquée à l'époque à l'OCE, par souci de simplification, correspondait en réalité à l'adresse professionnelle de son épouse; cette dernière s'occupait en effet de relever et trier le courrier du ménage. A l'appui de ses allégations, F._ a produit une attestation de scolarité d'après laquelle son fils avait été scolarisé en troisième primaire à l'école Z._, à V._, pour l'année 2005-2006. Après avoir pris connaissance d'un partie du dossier constitué par les autorités d'instruction pénale du canton de Genève, la Caisse a maintenu ses prétentions en restitution des prestations, par décision sur opposition du 2 mars 2007. B. F._ a déféré la cause au Tribunal des assurances sociales du canton de Genève. La Caisse a conclu au rejet du recours, en produisant plusieurs pièces extraites du dossier pénal concernant l'assuré, notamment des procès-verbaux d'interrogatoire de son épouse et de ses parents. Par jugement du 23 août 2007, la juridiction cantonale a rejeté le recours. Elle a considéré, en particulier, que F._ avait bien donné de faux renseignements à l'OCE en indiquant être domicilié à V._, alors qu'il était en réalité domicilié à D._, en France. A défaut de domicile en Suisse, il ne pouvait prétendre les prestations litigieuses, qu'il avait donc perçues indûment et qu'il devait restituer. C. F._ interjette un recours en matière de droit public contre ce jugement. Il en demande l'annulation et demande que soit constatée l'absence de créance de la Caisse en restitution d'un montant de 127 314 fr. 80, sous suite de dépens. A titre préalable, il a demandé l'octroi de l'effet suspensif au recours. L'intimée a conclu au rejet du recours et s'en est remise à l'appréciation du Tribunal fédéral concernant la demande d'octroi de l'effet suspensif au recours. Le Secrétariat d'Etat à l'économie (Seco) a renoncé à se déterminer. Par ordonnance du 21 novembre 2007, le Juge instructeur a rejeté la demande d'octroi de l'effet suspensif au recours.