Haftpflicht des Motorfahrzeughalters; Regress, hat sich ergeben: A.- Am 29. März 1986 fuhr ein Traktor samt Landwirtschaftsanhänger mit einer Geschwindigkeit von 20 km/h auf der Kriessernstrasse von Montlingen Richtung Kriessern. Die am Traktor angebrachten Blinker waren durch den Anhänger verdeckt. Die zulässige Höchstgeschwindigkeit beträgt an dieser Stelle 80 km/h. Hinter dem Traktor fuhr ein bei der Zürich Versicherung (Beklagte) versicherter Autolenker mit seinem Personenwagen mit einer Geschwindigkeit von mindestens 95 km/h. Beim Versuch, den Traktor zu überholen, kam es zu einem Unfall. Der alkoholisierte Traktorfahrer bremste auf Schrittempo ab und bog während des Überholmanövers des Personenwagens, ohne diesen bemerkt zu haben, nach links ein, um auf einen Feldweg zu gelangen. Die beiden Fahrzeuge stiessen zusammen. Der Personenwagen geriet ins Schleudern und erfasste zwei Radfahrer, welche sich auf einem parallel zur Strasse verlaufenden, durch einen Grasstreifen abgetrennten Radweg befanden. Der Unfall endete für beide Radfahrer tödlich. Der Traktorfahrer wurde wegen fahrlässiger Tötung und Führens eines Motorfahrzeuges in angetrunkenem Zustand mit einer bedingt aufgeschobenen Gefängnisstrafe von sechs Monaten und einer Busse von Fr. 2'000.-- bestraft. Das gegen den Automobilisten wegen fahrlässiger Tötung eingeleitete Verfahren wurde dagegen eingestellt. Er wurde lediglich wegen Verletzung einer Verkehrsregel mit Fr. 100.-- gebüsst. B.- Am 24. Februar 1997 reichte die Eidgenössische Alters- und Hinterlassenenversicherung (AHV, nachfolgend Klägerin) beim Bezirksgericht Oberrheintal Klage ein mit dem Antrag, die Beklagte zur Zahlung von Fr. 994'970.-- nebst Zins zu verpflichten und ihr ein Nachklagerecht für den Fall einer späteren Rentenanpassung einzuräumen. Sie verlangt damit Ersatz der bereits erbrachten und noch zu erbringenden Witwen- und Waisenrenten. C.- Am 19. August 1999 schützte das Bezirksgericht die Klage im Umfang von Fr. 1'006'333.--. Gegen diesen Entscheid erhob die Beklagte Berufung an das Kantonsgericht St. Gallen, worauf die Klägerin Anschlussberufung erklärte. Am 12. Januar 2001 wies das Kantonsgericht die Berufung ab und trat auf die Anschlussberufung nicht ein, soweit die Klägerin sie nicht zurückgezogen hatte. D.-Die Beklagte führt eidgenössische Berufung und verlangt, den angefochtenen Entscheid aufzuheben und die Klage abzuweisen. Eventuell sei die Sache zur Festlegung der Haftungsquote oder zur Schadensberechnung an die Vorinstanz zurückzuweisen. Die Klägerin schliesst auf Abweisung der Berufung. 