Faits : A. A._, ressortissant kosovar né en 1984, est entré en Suisse en 2004. Auparavant, il aurait vécu avec sa famille au Tessin de 1997 à 1999. Après son mariage, en 2005, avec une ressortissante allemande, le Service de la population du canton de Vaud (ci-après: le Service cantonal) l'a mis au bénéfice d'une autorisation de séjour UE/AELE, qu'il a toutefois révoquée après la séparation du couple (décision du 8 novembre 2007, confirmée le 31 mars 2008 par le Tribunal cantonal du canton de Vaud [ci-après: Tribunal cantonal]). A._ a toutefois refusé de quitter la Suisse et a requis en vain du Service cantonal le réexamen de sa décision. Après avoir divorcé en juin 2008, il a épousé une ressortissante suisse en novembre de la même année et a ainsi reçu une nouvelle autorisation de séjour, qui a été renouvelée jusqu'en novembre 2013. Il a ensuite obtenu une autorisation d'établissement. Le couple a un fils, B._, né en septembre 2010, qui a la nationalité suisse. A._ n'a jamais émargé à l'aide sociale. Un extrait de l'office des poursuites mentionne en revanche une quinzaine de poursuites à son encontre, pour un montant total de 86'289 fr. au 22 octobre 2013. Il a fait l'objet des condamnations pénales suivantes: 1. Le 18 novembre 2009, la Préfecture de Lausanne l'a condamné à une peine pécuniaire de 10 jours-amende avec sursis pendant deux ans et à une amende de 500 fr. pour emploi d'étrangers sans autorisation 2. Le 6 avril 2010, le Juge d'instruction de l'arrondissement de la Côte l'a condamné à une peine pécuniaire de 26 jours-amende avec sursis pendant trois ans et à une amende de 960 fr. pour violation simple des règles de la circulation routière et conduite en état d'ébriété qualifiée. 3. Le 1 er septembre 2010, le Juge d'instruction de l'arrondissement de Lausanne l'a condamné à une peine pécuniaire de 20 jours-amende pour emploi d'étrangers sans autorisation. 4. Le 10 février 2011, le Ministère public du canton du Valais l'a condamné à une peine pécuniaire de 20 jours-amende pour délit contre la loi fédérale sur les armes. 5. Le 27 juillet 2012, le Ministère public de l'arrondissement de Lausanne l'a condamné à une peine pécuniaire de 150 jours-amende, pour emploi d'étrangers sans autorisation et emploi répété d'étrangers sans autorisation. 6. Le 21 mars 2013, le Ministère public de l'arrondissement de la Côte l'a condamné à une peine pécuniaire de 30 jours-amende pour délit contre la loi fédérale sur les armes. 7. Le 2 octobre 2014, le Tribunal de police de l'arrondissement de Lausanne l'a condamné à une peine pécuniaire de 180 jours-amende et à une amende de 100 fr., pour lésions corporelles simples, lésions corporelles par négligence, injure, menaces, violation grave des règles de la circulation routière et conduite d'un véhicule malgré le refus, le retrait ou l'interdiction de l'usage du permis. 8. Le 5 février 2016, le Ministère public de l'arrondissement de Lausanne l'a condamné à une peine pécuniaire de 30 jours-amende pour non restitution des plaques de contrôle. 9. Le 9 novembre 2016, la Cour d'appel pénale du Tribunal cantonal vaudois a ramené à 12 mois la peine privative de liberté de 15 mois que le Tribunal correctionnel de Lausanne avait prononcée le 27 avril 2016 à son encontre pour des lésions corporelles simples qualifiées commises en janvier 2014. Dans son jugement, le Tribunal cantonal relevait notamment ce qui suit: " (...) la culpabilité de A._ est lourde. (...) on se trouve en présence d'une agression commise à deux en lien avec le remboursement d'une prétendue dette d'argent et les coups donnés, notamment les coups de poing au visage, sont graves. Ces actes de justice privée inacceptables commis avec violence sont le résultat des rapports que A._ entretenait avec [la victime], de sorte que la responsabilité [de ce dernier] est prépondérante (...). Au vu du passé judiciaire de l'appelant et de sa propension à commettre des infractions, le pronostic est manifestement défavorable et la peine prononcée ne peut qu'être ferme. " 10. Le 26 janvier 2017, le Ministère public du canton de Genève a prononcé à son encontre une peine pécuniaire de 180 jours-amende et une amende de 500 fr. pour délit contre la loi fédérale sur l'assurance-vieillesse et survivants (non-paiement des cotisations sociales dues à la caisse de compensation), conduite d'un véhicule malgré le refus, le retrait ou l'interdiction de l'usage du permis, mise à disposition d'un véhicule non couvert par l'assurance responsabilité civile, usage abusif de permis, emploi répété d'étrangers sans autorisation et contravention à la loi fédérale sur l'assurance-vieillesse. 11. Le 12 avril 2017, le Ministère public de l'arrondissement de Lausanne l'a condamné à une peine pécuniaire de 30 jours-amende et à une peine privative de liberté de 150 jours pour emploi répété d'étrangers sans autorisation. Par ailleurs, le Ministère public central du canton de Vaud mène depuis le 13 avril 2017 une enquête pénale contre A._ pour escroquerie et tentative d'escroquerie, gestion déloyale, faux dans les titres, gestion fautive, obtention frauduleuse d'une constatation fausse, violation du devoir de tenir une comptabilité, emploi répété d'étrangers sans autorisation et infraction à la loi fédérale sur les armes. A._ est notamment soupçonné d'avoir volontairement mis en faillite deux sociétés pour obtenir des indemnités de l'assurance-chômage pour le compte d'employés fictifs (faits commis en février et mars 2013, respectivement avril 2016). Il a par ailleurs admis son implication dans le même type de procédé frauduleux concernant une troisième société. Dans le cadre de cette enquête, A._ a été placé en détention provisoire du 27 avril au 30 septembre 2017, avant l'exécution de ses peines privatives de liberté. Il a toutefois été mis au bénéfice de la semi-détention dès le 15 décembre 2017, a pu poursuivre l'exécution de sa peine sous le régime du travail externe à compter du 11 juin 2018 et a été libéré conditionnellement, avec un délai d'épreuve d'une année, le 7 septembre 2018, le juge d'application des peines ayant considéré, en substance, que le pronostic n'était pas défavorable, que la détention subie lui avait permis de faire preuve d'introspection et que ses regrets paraissaient sincères. Le 12 septembre 2018, le Service cantonal a informé A._ de son intention de proposer au Chef du Département de l'économie, de l'innovation et du sport du canton de Vaud (ci-après: le Chef du Département) la révocation de son autorisation d'établissement. A._ s'est déterminé le 10 octobre 2018. B. Par décision du 26 mars 2019, le Chef du Département a révoqué l'autorisation d'établissement de A._ et prononcé son renvoi de Suisse. Par arrêt du 29 novembre 2019, le Tribunal cantonal a confirmé cette décision: au vu des condamnations pénales dont il avait fait l'objet, A._ remplissait un motif de révocation de l'autorisation d'établissement et cette mesure était conforme au principe de la proportionnalité. C. Agissant par la voie du recours en matière de droit public, A._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt du 29 novembre 2019 du Tribunal cantonal et d'ordonner le renouvellement de son autorisation d'établissement; subsidiairement, d'annuler l'arrêt du 29 novembre 2019 du Tribunal cantonal et de lui renvoyer la cause pour nouveau jugement dans le sens des considérants; plus subsidiairement, de remplacer son autorisation d'établissement par une autorisation de séjour. Par ordonnance du 30 décembre 2019, le Tribunal fédéral a admis la requête d'effet suspensif contenue dans le recours. Le Tribunal cantonal s'en tient à son arrêt. Le Département se rallie à l'arrêt attaqué. Le Secrétariat d'Etat aux migrations a renoncé à se déterminer.