Sachverhalt:
A.
Mit Verfügung vom 1. April 2009 und Einspracheentscheid vom 16. Juli 2009 veranlagte die Eidgenössische Oberzolldirektion (OZD) die Nutzfahrzeuge der Y._ SA für die leistungsabhängige Schwerverkehrsabgabe betreffend Januar 2009 auf insgesamt Fr. 257'997.60. Dabei wandte sie den durch den Bundesrat per 1. Januar 2008 erhöhten Abgabetarif an sowie die ab 2009 vorgesehene Rückstufung sämtlicher Fahrzeuge der sog. "EURO-3-Norm"-Kategorie in eine teurere Abgabekategorie. Für die Berechnung der vom Schwerverkehr im Jahr 2009 zulasten der Allgemeinheit verursachten und ungedeckten sog. externen Kosten ging die OZD u.a. von 204 Mio. Franken Stau (zeitverlust) kosten und von 58 Mio. Franken Unfallkosten aus, bei einer gesamten Kostenunterdeckung (Ertrag der Schwerverkehrsabgabe minus Wegekosten und externe Kosten) von 19 Mio. Franken.
B.
Am 20. August 2010 wies das Bundesverwaltungsgericht eine Beschwerde der Y._ SA gegen den Einspracheentscheid vom 16. Juli 2009 ab, soweit es darauf eintrat.
C.
Mit Urteil 2C_751/2010 vom 17. Dezember 2011 wies das Bundesgericht die Sache zur weiteren Abklärung und Neubeurteilung an das Bundesverwaltungsgericht zurück. Dieses wurde angewiesen, (namentlich) die Staukosten in Übereinstimmung mit präzisen Vorgaben neu festzulegen (vgl. zum Verfahren betreffend die der Y._ SA für Januar 2008 auferlegte leistungsabhängige Schwerverkehrsabgabe das Urteil 2C_800/2009 vom 19. April 2010 bzw. das Parallelurteil in <ref-ruling> ff.).
D.
Am 24. Januar 2012 wies das Bundesverwaltungsgericht die OZD mit Zwischenverfügung an, die Stauzeitkosten für das Jahr 2009 in Übereinstimmung mit den bundesgerichtlichen Vorgaben zu beziffern und zu begründen. Die OZD kam dieser Anweisung dadurch nach, dass sie am 25. April 2012 eine Studie (sog. Studie "Infras 2012") vorlegte; danach beliefen sich die für das Jahr 2009 wesentlichen Staukosten gesamthaft auf 291 Mio. Franken und die Unfallkosten auf 149 Mio. Franken. Die Y._ SA legte eine Gegenstudie (sog. Studie "ProgTrans 2012") vor, wonach sämtliche Teilkosten jeweils deutlich tiefer waren, so dass für 2009 gesamthaft eine Kostenüberdeckung anzunehmen sei.
E.
Mit Urteil vom 22. Oktober 2012 hat das Bundesverwaltungsgericht eine Beschwerde der Y._ SA im Sinne der Erwägungen gutgeheissen: Zwar habe der Schwerverkehr (SV) dem Nichtschwerverkehr (NSV) im Jahr 2009 Staukosten von 94 Mio. Franken verursacht; da sich aber die in umgekehrter Richtung hervorgerufenen Staukosten auf 140 Mio. Franken belaufen hätten, liege diesbezüglich ein Kostenüberschuss vor. Weiter könnten die von der OZD geltend gemachten zusätzlichen Unfallkosten von 91 Mio. Franken (149 statt 58 Mio. Franken) im laufenden Verfahren nicht mehr berücksichtigt werden.
F.
Am 23. November 2012 hat die OZD Beschwerde in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht eingereicht. Sie beantragt, das bundesverwaltungsgerichtliche Urteil vom 22. Oktober 2012 aufzuheben und ihren Einspracheentscheid vom 16. Juli 2009 zu bestätigen.
G.
Die Y._ SA schliesst auf Abweisung der Beschwerde. Das Bundesverwaltungsgericht hat auf eine Vernehmlassung verzichtet.
H.
Am 19. Dezember 2012 hat der Präsident der II.-öffentlich-rechtlichen Abteilung der Beschwerde aufschiebende Wirkung zuerkannt.

Erwägungen:
1.
Die Beschwerde ist zulässig (vgl. <ref-law>, insb. <ref-law> u. <ref-law>).
2.
2.1. Im angefochtenen Urteil hat das Bundesverwaltungsgericht ausgeführt, die Oberzolldirektion habe der hier massgeblichen Veranlagungsverfügung und ihrem nachmaligen Einspracheentscheid für das Jahr 2009 vom SV verursachte Stauzeitverlustkosten zugrunde gelegt, die deutlich überhöht seien; werde von den zutreffend niedrigeren Kostenbeträgen ausgegangen, so sei für 2009 (bei ansonsten unverändert bleibenden Berechnungsfaktoren) keine Kostenunterdeckung, sondern vielmehr eine -überdeckung anzunehmen; dann aber müsse für das betreffende Jahr vorfrageweise festgehalten werden, dass die vom Bundesrat am 12. September 2007 beschlossene und auf den 1. Januar 2008 in Kraft gesetzte erhöhte Tarifierung der leistungsabhängigen Schwerkehrverkehrsabgabe gemäss Art. 14 Abs. 1 der Verordnung vom 6. März 2000 über eine leistungsabhängige Schwerverkehrsabgabe (Schwerverkehrsabgabeverordnung; SVAV; SR 641.811; siehe auch <ref-ruling> E. 2.3 S. 341 f.) das Kostendeckungsprinzip von Art. 7 Abs. 1 des Bundesgesetzes vom 19. Dezember 1997 über eine leistungsabhängige Schwerverkehrsabgabe (Schwerverkehrsabgabegesetz, SVAG; SR 641.81) verletze; das Gleiche gelte für die in der derselben Verordnung festgelegte Regelung, wonach die schweren Motorwagen, welche (nur) den Abgasvorschriften der EURO-3-Norm entsprechen, nunmehr (nach Ablauf der diesbezüglichen Übergangsfrist auf Ende 2008) entsprechend der (teureren) Abgabekategorie 2 veranlagt werden (vgl. Art. 14 Abs. 2 SVAV in Verbindung mit Anhang 1 sowie Art. 62a SVAV; vgl. auch das Urteil 2C_751/2010 E. 2.2).
An der Auffassung der Vorinstanz ist auf jeden Fall richtig, dass die in der Verordnung enthaltenen Bestimmungen innerhalb der von der Rechtsprechung festgesetzten Grenzen dahingehend überprüft werden können, ob sie übergeordnetem Recht entsprechen (vgl. <ref-ruling> E. 5.1 S. 348 f.; zu diesen notwendigen Grenzen einer solchen akzessorischen Normenkontrolle: siehe u.a. das Urteil 2C_751/2010 E. 3.6.2 in fine u. 3.6.4). Zutreffend ist genauso sehr, dass die genannten Bestimmungen mit Art. 7 Abs. 1 SVAG nicht vereinbar wären, wenn für 2009 tatsächlich keine Kostenunterdeckung, sondern stattdessen eine -überdeckung vorliegen würde. Im Folgenden wird aber zu prüfen sein, ob die den diesbezüglichen Ausführungen des Bundesverwaltungsgerichts zugrunde liegenden methodischen Grundlagen und Berechnungen mit den hier massgeblichen gesetzlichen Wertungen und den bundesgerichtlichen Vorgaben übereinstimmen.
2.2. Aus der bundesgerichtlichen Rechtsprechung ergeben sich u.a. zwei Vorgaben:
2.2.1. Im Einklang mit den grundlegenden Wertungen, welche Art. 1 Abs. 1 und Art. 7 Abs. 2 SVAG wesentlich zugrunde liegen (vgl. <ref-ruling> E. 2.1 u. 2.2 S. 339 ff.; zum sog. Verursacherprinzip siehe <ref-ruling> E. 4.2 S. 346 ff. u. E. 5.3 S. 350 f.), hat das Bundesgericht festgelegt, dass mit der Abgabe allgemein sämtliche Kosten erfasst werden sollen, welche vom SV verursacht und von ihm nicht gedeckt werden, die ausserhalb von ihm entstehen (vgl. <ref-ruling> E. 5.3 S. 350 f.); diese externen Kosten schliessen namentlich die gesamten Stau (zeitverlust) kosten ein, die vom SV bei allen übrigen Verkehrsteilnehmern anfallen (vgl. dort E. 2.1 S. 339 f., E. 5.4 S. 351 f. u. E. 5.5 S. 352 ff.; Urteil 2C_751/2010 E. 3.1). Solche Stauzeitkosten stellen Kosten zu Lasten der Allgemeinheit dar und dürfen in die Berechnung des Abgabetarifs miteinbezogen werden.
Vorgesehen ist somit eine umfassende Kostenanlastung einseitig beim SV. Über eine Internalisierung der vom privaten Fahrzeugverkehr verursachten Kosten müsste der Gesetzgeber befinden (vgl. <ref-ruling> E. 5.5 S. 352 ff.). Das beruht auf einer asymetrischen Betrachtungsweise des Gesetzgebers, wonach die vom NSV verursachten Stauzeitkosten als irrelevant eingestuft werden und die vom SV erlittenen Kosten unberücksichtigt zu bleiben haben (vgl. das Urteil 2C_751/2010 E. 3.4)
2.2.2. Aufgrund der zweiten hier massgeblichen Vorgabe des Bundesgerichts ist der effektive Zustand des Verkehrs mit einem Zustand (völlig) ohne SV zu vergleichen. Diesem sind somit diejenigen Kosten anzulasten, welche den übrigen Verkehrsteilnehmern entstehen, weil der SV zum Verkehrsgeschehen hinzutritt, und zwar als Spitzenlast, nicht in einer stochastischen bzw. wahrscheinlichkeitsorientierten Verteilung (vgl. das Urteil 2C_751/2010 E. 3.6.2).
2.2.3. Diese gesetzlichen Wertungen und bundesgerichtlichen Vorgaben beruhen auf der vom Volk beschlossenen Gesamtverkehrskonzeption, insbesondere auf der Entscheidung, dass der SV langfristig seine Kosten decken soll; weiter sollen die Rahmenbedingungen der Bahn auf dem Transportmarkt verbessert und der Güter (schwer) verkehr vermehrt von der Strasse auf die Schiene verlagert werden (vgl. in diesem Sinne u.a. BBl 1996 V 530 sowie die Ausführungen des zuständigen Bundesrats vor dem Parlament: AB 1997 N 2117; siehe auch <ref-ruling> E. 2.2 S. 340 f.).
2.3. Das Bundesverwaltungsgericht hat die bundesgerichtlichen Vorgaben zu Beginn des hier angefochtenen Urteils zwar ausführlich und zutreffend wiedergegeben (vgl. dort E. 3.3), danach aber befunden, dass die Kritik gegenüber diesen Vorgaben berechtigt sei (vgl. insb. E. 7.2 des angefochtenen Urteils). In der Folge hat das Gericht seine Prüfung auf zwei Modelle der Staubildung bzw. -beurteilung beschränkt, die beide mit den genannten Vorgaben nicht in Einklang zu bringen sind:
2.3.1. In einer ersten Hypothese hat die Vorinstanz das "Hinzutreten zum Nichtschwerverkehr als Spitzenlast" im Sinne eines "Schichtungsmodells" konzipiert, und zwar so, dass die Fahrzeuge des SVs (bildlich als Einzelkörner in einer Sanduhr) erst nach sämtlichen anderen Körnern (bzw. allen sonstigen Verkehrsteilnehmern) durch den Engpass der Uhr fliessen dürften. Das ist zwar nur bildlich gemeint, aber das Bild wird dem tatsächlich zu lösenden Problem nicht gerecht. Darüber hinaus ist das "Hinzutreten als Spitzenlast" auf die Zurechnung der verursachten Stauzeitverluste und der sich daraus ergebenden Kosten zu beziehen; es stellt nicht eine Art Vortrittsregel dar, wonach die Fahrzeuge des SVs erst zuallerletzt durch eine Verengung gelassen würden. Namentlich aus diesen Gründen erweist es sich als zutreffend, wenn das Bundesverwaltungsgericht hinsichtlich seines "Schichtungsmodells" selber festhält, ein solches Modell könne vom Bundesgericht mit seiner entsprechenden Vorgabe nicht gemeint gewesen sein (vgl. E. 7.6.2 u. 7.7 des angefochtenen Urteils).
2.3.2. Ohne noch weitere mögliche Zurechnungsmodelle des gleichen Typs in Betracht zu ziehen, hat das Bundesverwaltungsgericht daraufhin den Schluss gezogen, wenn das eben erwähnte "Schichtungsmodell" als nicht vorgabenkonform abzulehnen sei, dann könne das nur dazu führen, dass die dem Schwerverkehr anzulastenden externen Stau (zeitverlust) kosten nach einem (stochastischen) "Mischungsmodell" zu berechnen seien, bei dem der SV und der NSV fortlaufend sowie wechselnd zum Verkehr hinzutreten würden (vgl. E. 7.9 des angefochtenen Urteils). Ein solcher Schluss vermag nicht zu überzeugen.
2.4. Aus seinem "Mischungsmodell" hat das Bundesverwaltungsgericht im Wesentlichen zwei Berechnungsregeln abgeleitet, die ihrerseits den gesetzlichen und gerichtlichen Vorgaben nicht entsprechen:
2.4.1. Zuerst hat die Vorinstanz erwogen, die dem SV anzulastenden Staukosten müssten sich auf dessen effektive "Verursacherquote" bzw. auf dessen quantitativen "Stauinvolvierungsgrad" beschränken; massgeblich sei nicht ein (gemäss dem prozentualen Anteil des SVs an den gesamten Stauzeitverlusten) ungewichteter Involvierungsgrad von 4,9%, sondern ein gewichteter von 11,37%; demzufolge ergäben sich externe Staukosten zulasten des SVs, welche sich nicht auf 204 Mio. Franken (oder gar auf 291 Mio. Franken) belaufen würden, sondern nur auf 94 Mio. Franken. Eine solche Berechnung berücksichtigt indessen Zweierlei nur ungenügend: Einerseits weicht sie von der Vorgabe des "Hinzutretens als Spitzenlast" ab. Andererseits lässt sie - wie die Vorinstanz ausdrücklich selber einräumt (vgl. E. 7.9 des angefochtenen Urteils) - ausser Acht, dass sich das Staugeschehen nicht linear entwickelt, sondern mit wachsender Verkehrsmenge überproportional zunimmt. So kann es sehr wohl sein, auch wenn der Anteil des SVs nur 4,9% der gesamten Fahrzeugstaustunden beträgt, dass der SV doch z.B. für 35% der Staukosten aufzukommen hat. Da es in bestimmten Situationen wenig Zusatzverkehr braucht, um einen Stau auszulösen, kann das Hinzukommen des SVs zum Restverkehr gegebenenfalls sogar 100% der Stauwirkung herbeiführen.
2.4.2. Weiter hat die Vorinstanz befunden, von den dem SV anzulastenden Staukosten (94 Mio. Franken gemäss der gerade erwähnten Berechnung) seien - in einer sog. "Saldierung" - diejenigen Staukosten abzuziehen, welche all die übrigen Verkehrsteilnehmer dem SV zufügen würden; diese Kosten würden sich insgesamt auf 140 Mio. Franken belaufen; somit müsse diesbezüglich von einem durch den SV erlittenen Kostenüberschuss ausgegangen werden.
Diese "Saldierung" beruht ebenfalls auf wenig überzeugenden Grundlagen. Sie weicht von der Vorgabe der Nichtrelevanz der vom übrigen Verkehr dem SV verursachten Kosten (vgl. oben E. 2.2.1) ab. Es sind die externen Kosten nur einer Kategorie relevant, u.a. weil diese Kategorie ihre Kosten langfristig decken und der Güterverkehr vermehrt nicht auf der Strasse, sondern auf der Schiene erfolgen soll (vgl. oben E. 2.2.3).
2.5. Daran vermag auch nichts zu ändern, was die Beschwerdegegnerin zugunsten des "Mischungsmodells" des Bundesverwaltungsgerichts und der daraus abgeleiteten Berechnungsregeln ausführt. Auf diese Ausführungen ist insofern nicht näher einzugehen, als sie sich darauf beschränken, den genannten gesetzlichen Wertungen bzw. den bundesgerichtlichen Vorgaben die eigene Sichtweise entgegenzusetzen (vgl. dazu schon <ref-ruling> E. 6.2 S. 354 f.). An zahlreichen Stellen der Vernehmlassung kommen dieselben Argumente zum Ausdruck, insbesondere das folgende: Ohne jeden Zweifel müsse auf die Wirklichkeit abgestellt werden, und "kraft absolut zwingender Logik" bzw. des "gesunden Menschenverstandes" sei für jedermann erkennbar, dass sämtliche Staus sich durch das wechselseitige Hinzutreten des SVs und des NSVs in völliger Durchmischung entwickeln würden; davon müssten sämtliche Berechnungen ausgehen.
Dieses Argument geht jedoch von einem unzutreffenden Ansatz aus, da die hier massgeblichen Fragen sich nicht (in erster Linie) auf der faktischen Ebene der effektiven Staubildung stellen, sondern Kostenzurechnungsregeln betreffen, welche auf diese faktische Ebene einwirken und die rechtliche Beurteilung begründen. Wie der Gesetzgeber festgelegt hat, sind die vom SV beim NSV verursachten Stauzeitkosten anders zu behandeln als die in umgekehrter Richtung herbeigeführten Kosten. Diese Andersbehandlung beruht auf den grundlegenden Zielsetzungen der Gesamtverkehrskonzeption, wonach u.a. der Güter (schwer) verkehr vermehrt auf der Schiene und nicht auf der Strasse erfolgen soll. Aus dem gleichen Grund ist die Teilnahme des Schwerverkehrs am Strassenverkehrsgeschehen nicht nach einem (stochastischen und linearen) Modell der völligen Durchmischung zu berechnen, sondern eben im Sinne eines Hinzutretens als Spitzenlast. Insofern erweist es sich als unzutreffend, wenn die Beschwerdegegnerin meint, es werde damit gegen die grundsätzliche Gebührenfreiheit der Benützung öffentlicher Strassen verstossen (vgl. dazu schon <ref-ruling> E. 2.1 S. 339 f.), und wenn sie weiter geltend macht, dass alle Verkehrsteilnehmer das gleiche Grundrecht auf Nutzung der Strasseninfrastruktur hätten (vgl. auch das Urteil 2C_751/2010 E. 3.6.2). Da es sich um zwei verschiedene Ebenen handelt, liegt auch kein unzulässiger Methodendualismus vor.
Selbst wenn die sog. "Saldierung" der Kosten von SV und NSV auf internationaler Ebene eine anerkannte wissenschaftliche Doktrin darstellen sollte, weicht sie doch von der genannten wesentlichen Wertung des schweizerischen Gesetzgebers ab. Diese Wertung bedeutet aber nicht, dass in allen Berechnungsbereichen systematisch die für den SV ungünstigste Hypothese anzunehmen wäre (vgl. dazu schon <ref-ruling> E. 6.2 S. 354 f.). Genauso wenig trifft es zu, dass die externen Nutzen des SVs auf rechtswidrige Weise ausser Acht gelassen würden (vgl. <ref-ruling> E. 5.2 S. 349 f. u. E. 6.5 S. 357 f.)
2.6. Gesamthaft erweist sich die Beschwerde in diesem Punkt deshalb als begründet, weil das Bundesverwaltungsgericht die dem SV anzulastenden Stauzeitkosten auf Modelle der Staubildung bzw. Kostenzurechnung gegründet und daraus Berechnungsregeln gezogen hat, die mit den gesetzlichen Wertungen sowie den bundesgerichtlichen Vorgaben nicht in Einklang zu bringen sind.
Die von der Vorinstanz an den Berechnungen der Beschwerdeführerin geübte Kritik lässt sich auch nicht auf andere Ausführungen im angefochtenen Urteil stützen, in denen sich das Bundesverwaltungsgericht namentlich mit den Aspekten der Staudefinition, -länge, -dynamik oder der angemessenen Gewichtung der im Vergleich mit Personenwagen grösseren, schwereren und längeren Fahrzeuge des SVs auseinandergesetzt hat. In Bezug auf all diese Aspekte hat die Vorinstanz die sich stellenden Fragen ausdrücklich offen gelassen, so dass ihre Ausführungen für das Bundesgericht nicht verbindlich sein können.
Zu den gleichen Fragen äussert auch die Beschwerdegegnerin grundlegende Einwendungen gegenüber den Berechnungen der OZD, welche massiv überhöht seien. Diese Kritiken sind indessen ebenfalls von den schon erwähnten (vgl. oben E. 2.5) unzutreffenden Ansätzen geprägt und können deshalb zu keinem anderen Ergebnis führen.
3.
3.1. Die Beschwerde ist auch insoweit begründet, als die Vorinstanz die von der OZD zusätzlich berücksichtigten Unfallkosten nicht als Teil der für das Jahr 2009 massgeblichen externen Kosten des Schwerverkehrs zugelassen hat. Das wird im angefochtenen Urteil damit begründet, dass das Bundesgericht das Bundesverwaltungsgericht ausschliesslich angewiesen habe, die Stau (zeit) kosten neu zu berechnen; die zusätzlichen Unfallkosten müssten somit unberücksichtigt bleiben (vgl. dort E. 3.2.4 u. 3.2.5). Diese Auffassung vermag in zweifacher Hinsicht nicht zu überzeugen:
3.1.1. Einerseits hat die Vorinstanz in seinem ersten Urteil betreffend die Abgabe für Januar 2009 (vgl. oben Sachverhalt/B.) zu Unrecht sämtliche Berechnungsfragen aus seiner Überprüfung des Einspracheentscheids der OZD ausgeschlossen (vgl. dazu das Urteil 2C_751/2010 E. 2.3, 3.1 u. 3.2). Vor diesem Hintergrund ist nicht ersichtlich, wie es der OZD verwehrt sein könnte, im wegen dieser unzutreffenden Prüfungsbeschränkung notwendig gewordenen zweiten Rechtsdurchgang die massgeblichen Unfallkosten noch einmal dem Bundesverwaltungsgericht zu unterbreiten - und zwar in einer aktualisierten, zuverlässigeren Fassung (was auch mit dem in Art. 7 Abs. 3 SVAG festgehaltenen Grundsatz übereinstimmt, dass die Berechnung der massgeblichen Kosten periodisch nachzuführen ist).
3.1.2. Andererseits trifft es nicht zu, dass das Bundesgericht dem Bundesverwaltungsgericht aufgetragen hätte, ausschliesslich die Stau (zeit) kosten neu zu berechnen (vgl. die diesbezügliche Anordnung im Urteil 2C_751/2010 E. 3.6.4). Zwar gingen die genannten Vorgaben vom Teilbereich der Staukosten aus. Darüber hinaus kann aber aus ihnen abgeleitet werden, dass die Neuberechnungen so weit zu gehen hatten, wie die vorherigen Berechnungen auf unzutreffenden methodischen Grundlagen beruhten und das Bundesverwaltungsgericht wegen der bereits erwähnten Prüfungsbeschränkung die notwendigen sachverhaltlichen Abklärungen unterlassen hatte. Zumindest unter diesem zweiten Gesichtspunkt steht die Neuberechnung der Unfallkosten im Einklang mit den bundesgerichtlichen Vorgaben.
3.2. In ihrer Vernehmlassung vor Bundesgericht setzt sich die Beschwerdegegnerin auf verfahrens- und materiellrechtlicher Ebene mit den durch die OZD neu berechneten Unfallkosten auseinander. Soweit ihre materiellen Argumente nicht schon zuvor entkräftet worden sind (vgl. <ref-ruling> E. 5.2 S. 349 u. E. 6.4 S. 356 f.), können sie hier schon deshalb nicht zum Tragen kommen, weil auch sie von den bereits erwähnten unzutreffenden Ansätzen geprägt sind (vgl. oben E. 2.5 u. 2.6 in fine).
4.
Nach dem Gesagten ist die Beschwerde gutzuheissen. Ob nun externe Stauzeitkosten von 204 oder 291 Mio. Franken sowie Unfallkosten von 58 oder 149 Mio. Franken zugrunde gelegt werden, erweisen sich die Tariferhöhung und die Abklassierung in die Euro-2-Kategorie (vgl. dazu schon oben E. 1.1 u. 3) im hier zu prüfenden Umfang als rechtskonform.
Dementsprechend ist das angefochtene Urteil aufzuheben und die von der Beschwerdeführerin in ihrem Einspracheentscheid gemachte Anwendung der genannten Verordnungsbestimmungen zu bestätigen. Bei diesem Ausgang des Verfahrens wird die Beschwerdegegnerin kostenpflichtig und sind die Kosten- sowie die Entschädigungsfolgen des vorinstanzlichen Verfahrens neu zu verlegen.

Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird gutgeheissen, das Urteil des Bundesverwaltungsgerichts vom 22. Oktober 2012 aufgehoben und der Einspracheentscheid der Oberzolldirektion vom 16. Juli 2009 bestätigt.
2.
Die Gerichtskosten von Fr. 10'000.-- werden der Beschwerdegegnerin auferlegt.
3.
Die Sache wird zur Neubeurteilung der Kosten- und Entschädigungsfolgen des vorinstanzlichen Verfahrens an das Bundesverwaltungsgericht zurückgewiesen.
4.
Dieses Urteil wird den Prozessbeteiligten und dem Bundesverwaltungsgericht schriftlich mitgeteilt.
Lausanne, 8. August 2013
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Zünd
Der Gerichtsschreiber: Matter