Erwägungen:
1.
1.1. A._ (geb. am 31. Dezember 1980) ist mazedonischer Staatsangehöriger. 1991 reiste er im Familiennachzug in die Schweiz ein und erhielt in der Folge die Niederlassungsbewilligung.
1.2. Nachdem A._ je eine Busse wegen einfacher Verletzung der Verkehrsregeln (Strafbefehl des Bezirksstatthalteramts Liestal vom 22. Januar 2004) und Vergehens gegen das Waffengesetz (Strafbefehl des Strafbefehlsrichters Basel-Stadt vom 6. Juli 2005) erwirkt hatte, verurteilte ihn des Kantonsgericht Basel-Landschaft, Abteilung Zivil- und Strafrecht, am 30. August 2005 zu zwei Jahren Gefängnis sowie sieben Jahren Landesverweisung (bedingt vollziehbar mit einer Probezeit von drei Jahren) wegen vollendeter und versuchter sexueller Nötigung, begangen am 20. Oktober 1999. Die Nichtigkeitsbeschwerde der Staatsanwaltschaft des Kantons Basel-Landschaft wies das Bundesgericht ab (Urteil 6S.467/2005 vom 7. Juni 2006).
Am 16. April 2007 verwarnte die Justiz-, Polizei- und Militärdirektion des Kantons Basel-Landschaft A._ und drohte ihm die Ausweisung aus der Schweiz an. Die Androhung der Ausweisung werde mit der Auflage verbunden, sich klaglos zu verhalten bzw. nicht mehr zu delinquieren, nach der Entlassung aus dem Strafvollzug einer regelmässigen Erwerbstätigkeit nachzugehen und für seinen Lebensunterhalt vollumfänglich aufzukommen.
Nach einer am 2. Juni 2010 vom Bezirksamt Laufenburg verhängten Geldstrafe von 30 Tagessätzen zu je Fr. 80.-- wegen grober Verletzung der Verkehrsregeln und Busse von Fr. 20.-- verurteilte das Appellationsgericht des Kantons Basel-Stadt A._ am 6. Mai 2014 wegen mehrfacher versuchter schwerer Körperverletzung, einfacher Körperverletzung mit einer Waffe, Angriffs und Widerhandlung gegen das Waffengesetz, begangen am 30. September 2011, zu drei Jahren Freiheitsstrafe, davon zwei Jahre bedingt aufgeschoben mit einer Probezeit von drei Jahren.
1.3. Am 2. Februar 2015 widerrief das Amt für Migration des Kantons Basel-Landschaft die Niederlassungsbewilligung und wies A._ aus der Schweiz weg. Die dagegen erhobenen kantonalen Rechtsmittel blieben erfolglos (Beschluss des Regierungsrates des Kantons Basel-Landschaft vom 7. Juli 2015; Urteil des Kantonsgerichts Basel-Landschaft vom 21. September 2016, welches zudem am 6. Januar 2016 das Gesuch um unentgeltliche Rechtspflege von A._ wegen Aussichtslosigkeit abgewiesen hatte).
1.4. A._ erhebt am 8. Dezember 2016 Beschwerde in öffentlich-rechtlichen Angelegenheiten beim Bundesgericht mit dem Antrag, das angefochtene Urteil aufzuheben. Zudem ersucht er um Gewährung der unentgeltlichen Prozessführung mit Advokat Guido Ehrler als Rechtsbeistand.
2.
2.1. Gegen den Widerruf der Niederlassungsbewilligung ist die Beschwerde in öffentlich-rechtlichen Angelegenheiten zulässig (BGE 135 II 1 E. 1.2.1 S. 4; Urteil 2C_139/2016 vom 14. Juni 2016 E. 1.2). Auch die übrigen Sachurteilsvoraussetzungen (Form, Frist und Legitimation gemäss Art. 42, Art. 100 Abs. 1 und Art. 89 Abs. 1 BGG) sind erfüllt. Auf die Beschwerde ist einzutreten.
2.2. Die Beschwerde ist offensichtlich unbegründet, weshalb sie im vereinfachten Verfahren mit summarischer Begründung nach Art. 109 Abs. 2 lit. a und Abs. 3 BGG zu erledigen ist.
3.
3.1. Die Vorinstanz hat die gesetzlichen Voraussetzungen für den Widerruf der Niederlassungsbewilligung korrekt dargelegt; es kann darauf verwiesen werden. Der Beschwerdeführer anerkennt, dass der Widerrufsgrund nach Art. 63 Abs. 1 lit. a AuG (SR 142.20) i.V.m. Art. 62 lit. b AuG erfüllt ist. Er macht indessen geltend, die Massnahme sei unverhältnismässig.
3.2. Der Beschwerdeführer beruft sich auf das Recht auf Achtung des Familienlebens nach Art. 8 Ziff. 1 EMRK. Er wohne bei seinen Eltern und erbringe Pflegeleistungen für seine psychisch schwer kranke Mutter; der Arzt habe bestätigt, dass er sie regelmässig zu den Terminen begleite. Die Vorinstanz verneinte ein besonderes Abhängigkeitsverhältnis im Sinn der Rechtsprechung (vgl. BGE 137 I 154 E. 3.4.2 S. 159; Urteil des EGMR Emonet u.A. gegen Schweiz vom 13. Dezember 2007 [Nr. 39051/03] § 35) mit der nachvollziehbaren Begründung, der Beschwerdeführer sei nur ein möglicher Betreuer seiner Mutter unter mehreren und somit nicht unersetzlich. Dem Beschwerdeführer war es nicht gelungen, das von ihm behauptete "Pflegeverhältnis" glaubhaft zu machen. Bei dieser Sachlage ist nicht zu beanstanden, dass die Vorinstanz in antizipierter Beweiswürdigung auf die Vornahme der beantragten Beweismassnahmen (Zeugenbefragungen in Bezug auf den Gesundheitszustand bzw. zur Feststellung der Pflegebedürftigkeit der Mutter) verzichtet hat (vgl. BGE 141 I 60 E. 3.3 S. 64; 136 I 229 E. 5.3 S. 236; 134 I 140 E. 5.3 S. 148). Die Rüge der Verletzung des rechtlichen Gehörs nach Art. 29 Abs. 2 BV ist unbegründet.
3.3. Nachdem kein Abhängigkeitsverhältnis zwischen dem Beschwerdeführer und seiner Mutter im Sinn der Rechtsprechung vorliegt, ist der Schutzbereich des Rechts auf Familienlebens nach Art. 8 Ziff. 1 EMRK zu verneinen. Zwar hat der EGMR auch bei ledigen und kinderlosen jungen Erwachsenen, die (weiterhin) mit den Eltern oder anderen Familienmitgliedern in einem gemeinsamen Haushalt wohnen, den Schutzbereich bejaht (vgl. Urteile des EGMR Trabelsi gegen Deutschland vom 13. Oktober 2011 [Nr. 41548/06] § 47; Maslov gegen Österreich vom 23. Juni 2008 [Nr. 1638/03] § 62). Diese Rechtsprechung erscheint jedoch nicht gefestigt (vgl. Urteil 2C_997/2013 vom 21. Juli 2014 E. 4.1 mit Hinweis auf Urteil des EGMR A.A. gegen Vereinigtes Königreich vom 20. September 2011 [Nr. 8000/08] § 46 ff.); zudem war der Beschwerdeführer im Zeitpunkt des angefochtenen Urteils 36 Jahre alt.
3.4. Der Beschwerdeführer beruft sich nicht auf das Recht auf Privatleben nach Art. 8 Ziff. 1 EMRK (vgl. Urteile des EGMR Shala gegen Schweiz vom 15. November 2012 [Nr. 52873/09] § 40; Gezginci gegen Schweiz vom 9. Dezember 2010 [Nr. 16327/05] § 57). Es kann daher offenbleiben, ob die Voraussetzungen für die Eröffnung des Schutzbereichs dieser Garantie (vgl. BGE 130 II 281 E. 3.2 S. 286 ff.; Urteil 2C_1027/2016 vom 10. Mai 2017 E. 3.4) erfüllt sind.
3.5. Nach dem Gesagten ist eine Interessenabwägung nach den Vorgaben von Art. 96 Abs. 1 AuG vorzunehmen.
4.
4.1. Der Beschwerdeführer beging im Jahr 1999 ein schweres Delikt im Bereich der sexuellen Integrität, wofür er mit zwei Jahren Gefängnis und (bedingt aufgeschoben) sieben Jahren Landesverweisung bestraft wurde. Schon damals waren die Voraussetzungen für die Ausweisung (vgl. Art. 10 Abs. 1 lit. a des Bundesgesetzes vom 26. März 1931 über Aufenthalt und Niederlassung der Ausländer [ANAG; BS 1 121]) erfüllt, wie in der Verwarnung vom 16. April 2007 ausführlich dargelegt wurde. Der Beschwerdeführer ergriff die gebotene Chance nicht, sondern erwirkte im Jahr 2010 eine Geldstrafe wegen grober Verletzung der Verkehrsregeln und beging am 30. September 2011 die schweren Körperverletzungsdelikte, welche zu drei Jahren Freiheitsstrafe führten und damit den Widerruf der Niederlassungsbewilligung auslösten.
Inwiefern bei dieser Vorgeschichte von einer "deutlichen Besserung" und "geringen Rückfallgefahr" gesprochen werden kann, ist nicht ersichtlich. Bei schwerer Straffälligkeit, insbesondere bei schweren Delikten gegen Leib und Leben, muss selbst ein geringes Rückfallrisiko nicht hingenommen werden (BGE 139 I 31 E. 2.3.2 S. 34). Zudem dürfen bei ausländischen Personen, die sich - wie der Beschwerdeführer - nicht auf das FZA (SR 0.142.112.681) berufen können, generalpräventive Gesichtspunkte berücksichtigt werden (Urteil 2C_794/2016 vom 20. Januar 2017 E. 2.2). Das sicherheitspolizeiliche Interesse an der Beendigung des Aufenthalts ist in Anbetracht der Anzahl und Art der Delikte und der dafür verhängten Strafen jedenfalls hoch. Daran vermögen die Vorbringen des Beschwerdeführers, er sei seit Jahren drogenfrei und das Delikt von 2011 stelle einen Ausreisser dar, nichts zu ändern.
4.2. Auf der Seite der privaten Interessen ist in erster Linie die lange Aufenthaltsdauer des Beschwerdeführers in der Schweiz von rund 25 Jahren zu nennen. Entgegen seinem Vorbringen aber kann er, der als Elfjähriger in die Schweiz gekommen und hier aufgewachsen ist, nicht mehr der sogenannten "faktischen zweiten Ausländergeneration" zugerechnet werden. Dieser Begriff steht für Ausländerinnen und Ausländer, welche im Kleinkindalter in die Schweiz kommen (vgl. das Urteil 2C_846/2014 vom 16. Dezember 2014 E. 4, in dem der betroffene Ausländer, welcher im Alter von drei Jahren in die Schweiz gekommen war, als Angehöriger der zweiten Generation bezeichnet wird). Der Beschwerdeführer hat elf Jahre in seinem Heimatland verbracht, was keine vergleichbare Situation darstellt. Er spricht die mazedonische Sprache und ist - nicht zuletzt durch das Zusammenleben mit seinen Eltern - nach wie vor mit der mazedonischen Kultur verbunden. Im Übrigen hat die Vorinstanz festgehalten, seine Integration in der Schweiz sei weder sozial, beruflich noch kulturell besonders erfolgreich verlaufen. Zwar erziele er zur Zeit ein existenzsicherndes Einkommen, aber zwischen 2004 und 2007 habe er von der Sozialhilfe mit insgesamt Fr. 5'919.05 unterstützt werden müssen. Am 10. Juni 2015 sei der Beschwerdeführer im Betreibungsregister mit 42 Betreibungen im Umfang von Fr. 92'261.12 sowie 31 offenen Verlustscheinen im Gesamtumfang von Fr. 87'380.20 verzeichnet gewesen; aufgrund der Verschuldung bestehe seit November 2015 eine Lohnpfändung. Bei dieser Sachlage - wobei die Verschuldung im Vordergrund steht - hat die Vorinstanz die Integration des Beschwerdeführers zu Recht als mangelhaft bezeichnet und dies zu seinen Ungunsten berücksichtigt.
4.3. Die Schlussfolgerung der Vorinstanz, wonach die öffentlichen Interessen an der Beendigung des Aufenthalts die privaten Interessen des Beschwerdeführers an einem Verbleib in der Schweiz klar überwiegen, ist zu bestätigen. Insbesondere auch mit Blick auf die Verwarnung vom 16. April 2007 erweist sich der Widerruf der Niederlassungsbewilligung als verhältnismässig.
5.
Die Beschwerde ist abzuweisen.
Das Gesuch um unentgeltliche Rechtspflege ist infolge Aussichtslosigkeit abzuweisen und dem Beschwerdeführer sind die (umständehalber reduzierten) Gerichtskosten aufzuerlegen (Art. 66 Abs. 1 BGG). Es ist keine Parteientschädigung geschuldet (Art. 68 Abs. 3 BGG).
Demnach erkennt das Bundesgericht:
1.
Die Beschwerde wird abgewiesen.
2.
Das Gesuch um unentgeltliche Rechtspflege wird abgewiesen.
3.
Die Gerichtskosten von Fr. 1'000.-- werden dem Beschwerdeführer auferlegt.
4.
Dieses Urteil wird den Verfahrensbeteiligten, dem Kantonsgericht Basel-Landschaft, Abteilung Verfassungs- und Verwaltungsrecht, und dem Staatssekretariat für Migration schriftlich mitgeteilt.
Lausanne, 8. Juni 2017
Im Namen der II. öffentlich-rechtlichen Abteilung
des Schweizerischen Bundesgerichts
Der Präsident: Seiler
Die Gerichtsschreiberin: Genner