Faits :
A.
A.a. Ressortissant macédonien né en 1988, X._ est arrivé en Suisse le 8 avril 1995 à la faveur du regroupement familial. Il a bénéficié d'une autorisation d'établissement à compter du 8 octobre 2003. Célibataire, il vit chez ses parents. Il n'a pas terminé de formation professionnelle, mais a occupé plusieurs emplois et travaille actuellement comme installateur-sanitaire.
A.b. Durant sa minorité, X._ a été condamné:
- le 23 octobre 2000, à une demi-journée de travail pour vol;
- le 2 mars 2005, à une amende de 200 fr. pour agression, contraventions à la loi fédérale sur les stupéfiants (LStup; RS 812.121; cas bénin) et contravention à la loi cantonale sur les établissements publics (fréquentation illicite d'un dancing);
- le 28 juin 2006, à une amende de 400 fr. pour rixe.
Majeur, il a été condamné à huit reprises:
- le 24 avril 2008, à 30 jours-amende à 50 fr. avec sursis pendant trois ans et à une amende de 300 fr. pour agression (fait commis le 20 août 2006);
- le 1 er avril 2009, à une peine privative de liberté de 16 mois avec sursis pendant cinq ans et à une amende de 300 fr. (peine d'ensemble avec celle prononcée le 24 avril 2008), pour vol, vol en bande, tentative de vol en bande, dommages à la propriété, violation de domicile, utilisation frauduleuse d'un ordinateur et contravention à la LStup (faits commis entre le 21 août 2006 et le 5 janvier 2008);
- le 12 août 2009, à une peine pécuniaire de 70 jours-amende à 100 fr. et à une amende de 400 fr. pour infraction à la loi fédérale sur la circulation routière (LCR; RS 741.01; conduite en incapacité, violations des règles de la circulation, faits commis les 23 novembre 2008 et 10 janvier 2009), délits et contraventions à la LStup (faits commis du 1 er août 2006 au 10 janvier 2009), lésions corporelles simples (faits commis le 28 juin 2008);
- le 28 janvier 2010, à une peine pécuniaire de 10 jours-amende à 110 fr. et à une amende de 500 fr. pour délit et contravention à la LStup (faits commis du 10 janvier au 10 juin 2009);
- le 11 août 2010, à une peine pécuniaire de 75 jours-amende à 70 fr. et à une amende de 200 fr. pour violation de la LCR (faits commis le 24 janvier 2010), opposition aux actes de l'autorité, violation grave des règles de la circulation routière (faits commis le 30 mars 2010) et contravention à la LStup (faits commis entre le 1 er juillet 2009 et le 24 janvier 2010);
- le 13 mai 2011, à une peine pécuniaire de 40 jours-amende à 80 fr. pour délit manqué de vol, dommages à la propriété, violation de domicile, délit contre la loi fédérale sur les armes (LArm; RS 514.5), pour des faits commis le 3 mars 2011;
- le 20 novembre 2012, à une peine pécuniaire de 70 jours-amende à 80 fr. pour lésions corporelles simples, dommages à la propriété et injures (faits commis le 20 février 2011);
- le 29 novembre 2012, à une amende de 300 fr. pour contravention à à la LStup (faits commis entre janvier et août 2012).
A.c. Le 30 mars 2009, le Service de la population et des migrants du canton de Fribourg (ci-après: le Service cantonal) a prononcé un sérieux avertissement à l'endroit de X._ à la suite de sa condamnation du 24 avril 2008, en le menaçant d'une possible révocation de son autorisation d'établissement s'il poursuivait dans la délinquance. Le 15 décembre 2009, le Service cantonal a adressé un second avertissement à l'intéressé, en se référant aux condamnations des 24 avril 2008 et 12 août 2009.
Le 19 avril 2013, X._ a indiqué, en réponse aux questions du Service cantonal, qu'il habitait chez ses parents qui le soutenaient, de même que son employeur, dans ses démarches de réinsertion et de réparation des dommages qu'il avait causés. Le 29 mai 2013, le Service cantonal l'a informé de son intention de révoquer son autorisation d'établissement, de prononcer son renvoi de Suisse et de requérir de l'Office fédéral des migrations (actuellement: Secrétariat d'Etat aux migrations) une interdiction d'entrée dans le pays. X._ a formulé des objections. Sur demande du Service cantonal, il a fourni, le 1 er janvier 2015, des renseignements complémentaires, dont il ressortait notamment qu'il réglait ses frais judiciaires dus par acomptes réguliers, ainsi qu'un certain nombre de ses autres dettes. Il a également produit un document attestant son engagement comme installateur-sanitaire pour une durée indéterminée.
B.
Par décision du 29 janvier 2015, le Service cantonal a révoqué l'autorisation d'établissement de X._ et ordonné son renvoi dans un délai de trente jours.
L'intéressé a recouru contre cette décision auprès de la Cour administrative du Tribunal cantonal de l'Etat de Fribourg (ci-après: le Tribunal cantonal), qui a rejeté le recours par arrêt du 29 juin 2015.
C.
Agissant par la voie du recours en matière de droit public, X._ demande au Tribunal fédéral, sous suite de frais et dépens, d'annuler l'arrêt du 29 juin 2015 et de maintenir son autorisation d'établissement.
Le Service cantonal se réfère aux considérants de l'arrêt attaqué. Le Secrétariat d'Etat aux migrations et le Tribunal cantonal concluent au rejet du recours.
Par ordonnance du 3 septembre 2015, le Président de la Cour de céans a accordé l'effet suspensif au recours.

Considérant en droit :
1.
1.1. D'après l'art. 83 let. c ch. 2 LTF, le recours en matière de droit public est irrecevable contre les décisions en matière de droit des étrangers qui concernent une autorisation à laquelle ni le droit fédéral ni le droit international ne donnent droit. Il est recevable contre les décisions révoquant, comme en l'espèce, une autorisation d'établissement, parce qu'il existe en principe un droit au maintien de cette autorisation (<ref-ruling> consid. 1.2.1 p. 4).
1.2. Pour le surplus, l'arrêt attaqué est une décision finale (<ref-law>) rendue par une autorité cantonale supérieure de dernière instance (art. 86 al. 1 let. d et al. 2 LTF). Déposé en temps utile (<ref-law>) et dans les formes prescrites par la loi (<ref-law>) par le destinataire de l'arrêt attaqué qui a qualité pour recourir au sens de l'<ref-law>, le présent recours est recevable,
2.
Saisi d'un recours en matière de droit public, le Tribunal fédéral statue sur la base des faits établis par l'autorité précédente (<ref-law>), à moins que ces faits n'aient été établis de façon manifestement inexacte ou en violation du droit au sens de l'<ref-law> (<ref-law>). Si le recourant entend s'écarter des constatations de l'autorité précédente (cf. <ref-law>), il doit expliquer de manière circonstanciée en quoi les conditions d'une exception prévue par l'<ref-law> seraient réalisées. Sinon, il n'est pas possible de tenir compte d'un état de fait divergeant de celui qui est contenu dans l'acte attaqué (<ref-ruling> consid. 10.1 p. 445). Aucun fait nouveau ni preuve nouvelle ne peut être présenté à moins de résulter de la décision de l'autorité précédente (<ref-law>). En l'occurrence, le recourant expose de manière appellatoire des faits qui ne résultent pas de l'arrêt entrepris sans exposer que ce dernier serait manifestement inexact, et qui sont partant irrecevables. Dans la suite du raisonnement, le Tribunal fédéral se fondera donc exclusivement sur les faits établis par le Tribunal cantonal.
3.
Le litige porte sur le point de savoir si la révocation de l'autorisation d'établissement du recourant est conforme au droit.
3.1. Selon l'art. 63 al. 2 de la loi fédérale sur les étrangers (LEtr; RS 142.20), l'autorisation d'établissement d'un étranger qui séjourne en Suisse légalement et sans interruption depuis plus de quinze ans ne peut être révoquée que s'il attente de manière très grave à la sécurité et l'ordre publics en Suisse ou à l'étranger, les met en danger ou représente une menace pour la sécurité intérieure ou extérieure de la Suisse (art. 63 al. 1 let. b LEtr) ou s'il a été condamné à une peine privative de liberté de longue durée ou a fait l'objet d'une mesure pénale prévue aux art. 64 ou 61 CP (art. 62 let. b LEtr). Il suffit que l'un de ces deux motifs soit réalisé (cf. arrêts 2C_710/2015 du 10 septembre 2015 consid. 3.1; 2C_129/2014 du 4 novembre 2014 consid. 2.1). Selon la jurisprudence, constitue une peine privative de longue durée au sens de cette disposition toute peine dépassant un an d'emprisonnement, étant précisé qu'elle doit résulter d'un seul jugement pénal (<ref-ruling> consid. 2.1 p. 299; <ref-ruling> consid. 4.2 p. 380 s.).
3.2. En l'espèce, le Tribunal cantonal a considéré à bon droit que le motif de révocation prévu à l'art. 62 let. b LEtr était réalisé au regard de la condamnation du recourant à une peine privative de liberté de 16 mois. Le recourant le conteste, au motif que cette peine devrait être relativisée au regard de l'ensemble des circonstances. Pareille critique ne concerne toutefois pas la réalisation d'un motif de révocation, mais relève de la pesée des intérêts et de l'importance donnée aux éléments favorables du recourant. Elle sera partant examinée sous cet angle (cf. infra consid. 4.2). Par ailleurs, dans la mesure où l'énumération des cas de révocation est alternative et qu'il suffit que l'un soit donné pour que la condition objective de révocation de l'autorisation soit remplie, il n'y a pas lieu d'examiner si, au surplus, le recourant a menacé de manière très grave la sécurité et l'ordre publics au sens de l'art. 63 al. 1 let. b LEtr, ce qu'il conteste également.
4.
Le recourant s'en prend, sous l'angle des art. 96 LEtr, 5 al. 2 Cst., 13 Cst. et 8 CEDH, à la pesée des intérêts effectuée par les juges cantonaux. Il leur reproche en substance d'avoir donné trop de poids à ses condamnations pénales, dont il relativise la gravité et la quantité, sans avoir suffisamment tenu compte de la durée de son séjour en Suisse, de ses liens familiaux étroits avec ses parents - dont il partage le domicile - et son frère en Suisse, ainsi que son absence d'attaches avec son pays d'origine. La révocation de son autorisation d'établissement serait dès lors disproportionnée.
4.1. La révocation de l'autorisation d'établissement ne se justifie que si la pesée globale des intérêts à effectuer fait apparaître la mesure comme proportionnée (cf. <ref-ruling> consid. 2.2.1 p. 19; <ref-ruling> consid. 4.2 p. 380). Exprimé de manière générale à l'art. 5 al. 2 Cst. et découlant également de l'art. 96 LEtr, le principe de la proportionnalité exige que la mesure prise par l'autorité soit raisonnable et nécessaire pour atteindre le but d'intérêt public ou privé poursuivi (cf. <ref-ruling> consid. 3.2 p. 91 s.; <ref-ruling> consid. 4.2 p. 380). Lors de cet examen, il y a lieu de prendre en considération la gravité de la faute commise, le degré d'intégration, la durée du séjour en Suisse, ainsi que le préjudice que l'intéressé et sa famille auraient à subir du fait de la mesure (<ref-ruling> consid. 2.2.1 p. 19; <ref-ruling> consid. 4.3 p. 381). La peine infligée par le juge pénal est le premier critère servant à évaluer la gravité de la faute et à procéder à la pesée des intérêts (<ref-ruling> consid. 4.2 p. 23; arrêts 2C_1046/2014 du 5 novembre 2015 consid. 4.2; 2C_950/2014 du 9 juillet 2015 consid. 5.4). La durée de présence en Suisse d'un étranger constitue un autre critère très important. Plus cette durée est longue, plus les conditions pour prononcer l'expulsion administrative doivent être appréciées restrictivement (cf. ATF <ref-ruling> consid. 4.4 et 4.5 p. 382 s.; arrêt 2C_260/2015 du 2 avril 2015 consid. 5.2). La révocation de l'autorisation d'établissement d'un étranger qui séjourne depuis longtemps en Suisse doit se faire avec une retenue particulière, mais n'est pas exclue en cas d'infractions graves ou répétées même dans le cas d'un étranger né en Suisse et qui y a passé l'entier de sa vie. On tiendra alors particulièrement compte de l'intensité des liens de l'étranger avec la Suisse et des difficultés de réintégration dans son pays d'origine (<ref-ruling> consid. 2.2.1 p. 19 ss; <ref-ruling> consid. 2.3.1 p. 33 ss; <ref-ruling> consid. 3.2.2 p. 287; <ref-ruling> consid. 4.4.2 p. 190). Un étranger peut se prévaloir de l'art. 8 CEDH (dont la portée est identique à celle de l'art. 13 Cst.: <ref-ruling> consid. 8.3.2 p. 350; <ref-ruling> consid. 3.2 p. 172 ss; arrêt 2C_427/2015 du 29 octobre 2015 consid. 4.1) qui garantit le respect de sa vie privée et familiale, pour s'opposer à une éventuelle séparation de sa famille. Encore faut-il, pour pouvoir invoquer cette disposition, que la relation entre l'étranger et une personne de sa famille ayant le droit de résider durablement en Suisse soit étroite et effective (<ref-ruling> consid. 5.1 p. 402; <ref-ruling> consid. 3.1 p. 354; <ref-ruling> consid. 1.3.1 p. 145). Les relations familiales qui peuvent fonder, en vertu de l'art. 8 par. 1 CEDH, un droit à une autorisation de police des étrangers sont avant tout les rapports entre époux ainsi qu'entre parents et enfants mineurs vivant ensemble (<ref-ruling> consid. 5.1 p. 402; <ref-ruling> consid. 1.3.2 p. 146; arrêt 2C_725/2014 du 23 janvier 2015 consid. 3.1). Un étranger majeur ne peut se prévaloir de cette disposition que s'il se trouve dans un état de dépendance particulier par rapport à des membres de sa famille résidant en Suisse en raison, par exemple, d'un handicap (physique ou mental) ou d'une maladie grave (<ref-ruling> consid. 5.1 p. 402; <ref-ruling> consid. 3.4.2 p. 159; arrêt 2C_725/2014 du 23 janvier 2015 consid. 3.1).
4.2. En l'espèce, le recourant, qui est majeur, célibataire et sans enfant, n'invoque aucun facteur de dépendance qui lui permettrait de se prévaloir du droit au respect de la vie familiale garanti par l'art. 8 CEDH. La question de savoir si, en raison de son séjour de longue durée en Suisse, l'intéressé peut invoquer l'art. 8 CEDH sous l'angle de la protection de la vie privée (cf. arrêt 2C_669/2014 du 5 janvier 2015 consid. 4.1) peut rester indécise. En effet, il convient de toute façon de procéder à une pesée des intérêts lors de l'application des art. 62 et 63 LEtr, tel que cela ressort de l'art. 96 LEtr (arrêt 2C_427/2015 du 29 octobre 2015 consid. 4.2). Or, l'examen sous l'angle de l'art. 8 par. 2 CEDH se confond avec celui imposé par les art. 5 al. 2 Cst. et 96 LEtr (cf. ATF <ref-ruling> consid. 4.3 p. 381; arrêts 2C_191/2015 du 12 juin 2015 consid. 6.2; 2C_419/2014 du 13 janvier 2015 consid. 4.3).
4.3. Il apparaît à cet égard que l'instance précédente a dûment tenu compte des éléments positifs qui plaident en faveur du recourant. Les juges cantonaux ont ainsi relevé la durée du séjour en Suisse, le fait que l'intéressé y avait développé le centre de sa vie personnelle et sociale, que plusieurs membres de sa famille y était installés et qu'il y avait probablement noué des relations d'amitié, de travail et de voisinage. Sur le plan professionnel, le recourant avait une activité quand bien même il n'avait pas terminé de formation professionnelle, et ses certificats de travail attestaient qu'il avait donné satisfaction à ses employeurs. Au niveau associatif, il avait joué pour des clubs de football régionaux. Les juges précédents ont aussi relevé que, depuis les dernières infractions d'août 2012, le recourant n'avait plus été dénoncé pénalement et qu'il avait fourni d'importants efforts pour rembourser ses dettes. Cette démarche était toutefois au moins en partie motivée par la procédure de révocation de permis qui avait été initiée à son encontre, et l'absence de commission de nouvelles infractions était trop récente pour être tenu pour durable au point qu'un risque de récidive puisse être considéré comme véritablement écarté. Les juges précédents ont toutefois correctement contrebalancé les éléments plaidant en faveur d'un maintien de l'autorisation d'établissement du recourant avec la gravité de son passé pénal. En effet, entre 2005 et 2012, le recourant a fait l'objet de onze condamnations pénales, dont l'une a donné lieu au prononcé d'une peine privative de liberté de seize mois. Il est vrai que certaines des infractions pénales commises relèvent de la délinquance juvénile. Dans un tel cas, le risque de récidive joue un rôle plus important que pour apprécier les actes commis à l'âge adulte (cf. arrêt 2C_98/2009 du 10 juin 2009 consid. 2.4). Le recourant n'a cependant pas su saisir les occasions de s'amender qui lui ont été offertes par les autorités pénales, et a largement continué à s'adonner à la délinquance après sa minorité, puisqu'il a été condamné pas moins de neuf reprises depuis lors. Le recourant a ainsi poursuivi ses activités délictueuses une fois majeur, de sorte qu'il n'est pas possible, comme il le souhaite, d'attribuer tous ses actes délictueux à des "erreurs de jeunesse". En outre, il ne saurait relativiser la gravité de son attitude en relevant qu'après sa condamnation à une peine privative de liberté de 16 mois, il n'aurait encouru que de petites condamnations. Le fait qu'il ait encore été condamné à six reprises après cette peine montre au contraire que même une peine privative de liberté de longue durée n'était pas de nature à mettre un terme à son comportement délictueux et à l'inciter à respecter désormais l'ordre juridique suisse. Il faut encore relever que parmi les infractions commises figurent des agressions, une rixe et des lésions corporelles, soit des actes qui portent atteinte à l'intégrité physique, domaines dans lesquels le Tribunal fédéral se montre particulièrement rigoureux pour évaluer la menace qu'un étranger condamné pénalement représente (arrêt 2C_238/2012 du 30 juillet 2012 consid. 2.3 et les références citées). Contrairement à ce que le recourant soutient, on ne saurait relativiser cette persistance dans la récidive par le fait qu'elle serait intervenue " dans une mesure bien moindre et sur une période très limitée " après la condamnation à une peine privative de liberté. En outre, il est particulièrement révélateur que le recourant ait encore persévéré dans la commission d'infractions quand bien même il a reçu à deux reprises du Service cantonal un avertissement le menaçant d'une possible révocation de son autorisation d'établissement en cas de poursuite dans la délinquance. En effet, après les avertissements des 30 mars 2009 et 15 décembre 2009, le recourant a encore commis de nombreuses infractions (cf. ci-dessus consid. A, les condamnations des 28 janvier 2010, 11 août 2010, 13 mai 2011, 20 novembre 2012 et 29 novembre 2012 pour des faits commis du 10 janvier au 10 juin 2009, entre le 1 er juillet 2009 et le 24 janvier 2010, le 3 mars 2011, le 20 février 2011, et entre janvier et août 2012). Une telle attitude dénote une incapacité à respecter l'autorité et l'ordre juridique suisse malgré les sanctions et les avertissements. En pareilles circonstances, le fait que le recourant n'ait plus commis d'infractions depuis août 2012 ne saurait jouer un rôle déterminant, d'autant moins que le recourant savait qu'une procédure pouvant mener à la révocation de son autorisation avait été amorcée dès le printemps 2013.
Enfin, le renvoi du recourant vers la Macédoine ne devrait pas entraîner de difficultés insurmontables. Célibataire, jeune et en bonne santé, il est en mesure de pouvoir refaire sa vie dans ce pays quand bien même il n'en parlerait pas la langue majoritaire, dès lors qu'il pourra s'appuyer, dans un premier temps du moins, sur les membres de sa famille qui y vivent et avec lesquels il a admis avoir quelques liens, et qu'il existe par ailleurs une large minorité albanaise en Macédoine, dont le droits sont reconnus. Son expérience professionnelle en Suisse, qui recouvre plusieurs secteurs d'activité, est aussi de nature à favoriser une intégration sur place. Il n'apparaît donc pas que son arrivée sur le marché du travail macédonien s'annoncera particulièrement difficile.
Au vu de l'ensemble de ces circonstances, le Tribunal cantonal n'a pas méconnu les art. 96 LEtr, 5 al. 2 Cst., 13 Cst. et 8 par. 2 CEDH en faisant primer l'intérêt public à éloigner le recourant sur l'intérêt privé de celui-ci à pouvoir vivre en Suisse.
5.
Le recourant invoque encore une violation du principe de l'égalité de traitement (art. 8 Cst.). Il se plaint en substance d'être traité plus durement que l'étranger qui a fait l'objet des arrêts 2A.297/2006 du 14 août 2006 et 2A.87/2007 du 27 avril 2007, et que cette différence de traitement serait injustifiée.
5.1. Une décision viole le principe de l'égalité de traitement consacré à l'art. 8 al. 1 Cst. lorsqu'elle établit des distinctions juridiques qui ne se justifient par aucun motif raisonnable au regard de la situation de fait à réglementer ou qu'elle omet de faire des distinctions qui s'imposent au vu des circonstances, c'est-à-dire lorsque ce qui est semblable n'est pas traité de manière identique et ce qui est dissemblable ne l'est pas de manière différente (<ref-ruling> consid.4.4 p. 68; <ref-ruling> consid. 6.1 p. 304; <ref-ruling> consid. 9.1 p. 42 et la jurisprudence citée). Les situations comparées ne doivent pas nécessairement être identiques en tous points, mais leur similitude doit être établie en ce qui concerne les éléments de fait pertinents pour la décision à prendre (<ref-ruling> consid. 5.1 p. 125; <ref-ruling> consid. 2b/aa p. 4; <ref-ruling> consid. 6a p. 7 et la jurisprudence citée).
5.2. Dans l'arrêt 2A.297/2006 précité, le Tribunal fédéral avait en substance renvoyé l'affaire au tribunal cantonal pour nouvel examen de la proportionnalité de la révocation de l'autorisation d'établissement d'un Turc de la 2 ème génération. Statuant sur la nouvelle décision cantonale, qui constatait notamment que cette personne présentait des troubles psychiques rendant une thérapie guère envisageable, le Tribunal fédéral avait retenu (arrêt 2A.87/2007 précité consid. 3.2) que la question était pour le moment ouverte de savoir si cet étranger se conformerait désormais à l'ordre juridique et qu'il convenait pour l'heure de prononcer un avertissement à son endroit.
5.3. Le recourant ne peut rien tirer de ces deux arrêts. Il perd en effet de vue que l'examen du respect de la proportionnalité d'une mesure s'effectue selon les circonstances du cas d'espèce et que celles-ci varient forcément d'une situation à une autre, quand bien même les cas peuvent présenter certaines similitudes. A cet égard, la situation de la personne qui a donné lieu à ces deux arrêts diverge de sa propre situation au moins sur deux éléments essentiels, à savoir qu'elle concernait un étranger de la 2 ème génération, dont l'autorisation d'établissement a été révoquée sans avertissement préalable. En l'occurrence en revanche, le recourant n'est pas né en Suisse, et il a bénéficié de deux avertissements avant que la décision de révocation de son autorisation d'établissement ne soit finalement prise par le Service cantonal. Le grief tiré de la violation du principe d'égalité de traitement est partant infondé.
Au surplus, le fait que des renvois aient aussi été confirmés par le Tribunal fédéral en présence d'infractions plus graves que celles commises par le recourant (cf. par exemple arrêt 2C_494/2007 du 17 décembre 2007 consid. 6.1) n'est pas non plus pertinent et ne change rien au bien-fondé de la révocation de l'autorisation d'établissement prononcée en l'espèce.
6.
Les considérants qui précèdent conduisent au rejet du recours. Les frais judiciaires seront donc mis à la charge du recourant, qui succombe (<ref-law>). Il ne sera pas alloué de dépens (art. 68 al. 1 et 3 LTF).

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 2'000 fr., sont mis à la charge du recourant.
3.
Le présent arrêt est communiqué au mandataire du recourant, au Service de la population et des migrants du canton de Fribourg, au Tribunal cantonal du canton de Fribourg, Ie Cour administrative, ainsi qu'au Secrétariat d'Etat aux migrations.
Lausanne, le 2 décembre 2015
Au nom de la IIe Cour de droit public
du Tribunal fédéral suisse
Le Président : Zünd
La Greffière : Vuadens