Fatti:
A.
Con sentenza del 20 settembre 2016 la Corte delle assise criminali ha riconosciuto J._ autore colpevole di omicidio intenzionale, commesso con dolo eventuale, per avere, l'8 ottobre 2015, a W._, in via X._, agendo in correità con A._, H._ e I._, ucciso K.D._.
In sintesi, la fattispecie oggetto di condanna è riconducibile ad un contrasto avuto dagli imputati con un gruppo di albanesi la notte tra il 5 e il 6 ottobre 2015 presso una discoteca di Y._. A seguito di questo scontro e di successivi scambi di minacce, la sera dell'8 ottobre 2015 gli imputati si sono recati da Z._ a W._ per risolvere la questione con il gruppo avversario e con K.D._. In quel frangente, A._ portava con sé una pistola carica e H._ un manganello. Giunti a W._ nei pressi del locale notturno L._ verso le 20.15, vi hanno trovato K.D._. Questi è stato dapprima raggiunto da J._ e da H._, che lo hanno accerchiato. H._ gli ha in seguito assestato due colpi di manganello. Mentre si stava accasciando per le manganellate, la vittima ha iniziato ad estrarre un'arma che portava in una borsa a tracolla ed è stata colpita da due colpi di pistola sparati da A._ a distanza ravvicinata e senza soluzione di continuità rispetto ai colpi di manganello.
J._ è inoltre stato riconosciuto autore colpevole di infrazione aggravata alla legge sugli stupefacenti, per avere, senza essere autorizzato, a WW._, XX._, YY._, Z._ e ZZ._, nel periodo da settembre 2012 all'8 ottobre 2015, alienato a Q._, R._, S._ e a una terza persona non meglio identificata, almeno 1'204,5 grammi di cocaina con un grado di purezza indeterminato.
L'imputato è pure stato riconosciuto autore colpevole di guida senza autorizzazione, di ripetuta infrazione alla legge sugli stupefacenti e di rottura dei sigilli. La pronuncia di condanna per questi reati non è contestata. Egli è per contro stato prosciolto dalle imputazioni di complicità in assassinio, subordinatamente in omicidio, e di conseguimento fraudolento di una falsa attestazione. È stato condannato alla pena detentiva di 10 anni, da dedursi il carcere preventivo sofferto, parzialmente aggiuntiva a una pena inflittagli con un decreto di accusa del 18 marzo 2013.
B.
J._ ha impugnato dinanzi alla Corte di appello e di revisione penale (CARP) i dispositivi della sentenza di primo grado concernenti la dichiarazione di colpevolezza per i reati di omicidio intenzionale con dolo eventuale e di infrazione aggravata alla legge sugli stupefacenti, nonché quelli relativi alla commisurazione della pena detentiva, alla riparazione del torto morale e al risarcimento di altre spese agli accusatori privati, alla confisca, all'accollamento delle spese giudiziarie, al rimborso allo Stato del Cantone Ticino della retribuzione del difensore d'ufficio e delle retribuzioni dei patrocinatori d'ufficio degli accusatori privati beneficiari del gratuito patrocinio. Con sentenza del 9 novembre 2017 la CARP ha, in particolare, accolto parzialmente l'appello dell'imputato, limitatamente all'indennizzo per le spese di patrocinio dovuto a tre accusatori privati. La Corte cantonale, rilevato che, in mancanza di impugnazione, i dispositivi relativi alle condanne per guida senza autorizzazione, ripetuta infrazione alla legge sugli stupefacenti e rottura dei sigilli erano passati in giudicato, ha dichiarato J._ autore colpevole di omicidio intenzionale commesso con dolo eventuale e di infrazione aggravata alla legge sugli stupefacenti per i fatti esposti. Ha altresì confermato il proscioglimento dell'imputato dall'accusa di assassinio, di complicità in assassinio e subordinatamente in omicidio e lo ha condannato alla pena detentiva di 10 anni, da dedursi il carcere preventivo sofferto, precisando che si trattava di una pena unica comprendente quella inflittagli con il decreto di accusa del 18 marzo 2013.
C.
J._ impugna questa sentenza con un ricorso in materia penale del 29 gennaio 2018 al Tribunale federale, chiedendo in via principale che sia prosciolto anche dalle imputazioni di omicidio intenzionale e di ripetuta infrazione aggravata alla legge sugli stupefacenti. Chiede quindi che sia condannato ad una pena detentiva ridotta, limitatamente ai reati di guida senza autorizzazione, di ripetuta infrazione alla legge sugli stupefacenti e di rottura dei sigilli. Postula inoltre di non essere tenuto a versare indennità agli accusatori privati e di porre gli oneri processuali relativi alla procedura di appello a carico dello Stato. In via subordinata, chiede che la pena sia attenuata tenendo conto della sua desistenza giusta l'<ref-law>. In via ulteriormente subordinata, postula l'annullamento della sentenza impugnata ed il rinvio degli atti alla precedente istanza per un nuovo giudizio nel senso dei considerandi. Il ricorrente chiede inoltre di essere ammesso al beneficio dell'assistenza giudiziaria e del gratuito patrocinio. Fa valere la violazione del diritto federale e l'accertamento manifestamente inesatto dei fatti.
D.
Non sono state chieste osservazioni sul ricorso, ma è stato richiamato l'incarto cantonale.

Diritto:
1.
Presentato dall'imputato, che ha partecipato alla procedura dinanzi alla precedente istanza, le cui conclusioni sono state disattese (art. 81 cpv. 1 lett. a e b n. 1 LTF), e diretto contro una decisione finale (<ref-law>) resa in materia penale (<ref-law>) da un'autorità di ultima istanza cantonale (<ref-law>), il gravame è tempestivo (art. 100 cpv. 1 in relazione con l'art. 46 cpv. 1 lett. c LTF) e sotto i citati aspetti ammissibile.
2.
2.1. Conformemente a quanto stabilito dagli art. 95 e 96 LTF, il ricorso in materia penale al Tribunale federale può essere presentato per violazione del diritto. Secondo l'<ref-law>, nel ricorso occorre spiegare per quali ragioni l'atto impugnato viola il diritto. Il Tribunale federale esamina in linea di principio solo le censure sollevate; esso non è tenuto a vagliare, come lo farebbe un'autorità di prima istanza, tutte le questioni giuridiche che si pongono, se quest'ultime non sono presentate nella sede federale (<ref-ruling> consid. 2.1). Le esigenze di motivazione sono inoltre accresciute laddove il ricorrente lamenta l'arbitrio nell'accertamento dei fatti e nella valutazione delle prove, dato che ciò equivale a sostenere che i fatti sono stati accertati in violazione dell'<ref-law> e del diritto federale. Trattandosi di garanzie di rango costituzionale, il Tribunale federale esamina le relative censure soltanto se sono motivate in modo chiaro e preciso (<ref-law>; <ref-ruling> consid. 1.1; <ref-ruling> consid. 2.4). In questa ottica, argomentazioni vaghe o meramente appellatorie e semplici rinvii agli atti cantonali non sono quindi ammissibili (<ref-ruling> consid. 3.3; <ref-ruling> consid. 2.4). Per motivare l'arbitrio non basta criticare semplicemente la decisione impugnata contrapponendole una versione propria, ma occorre dimostrare per quale motivo l'accertamento dei fatti o la valutazione delle prove sono manifestamente insostenibili, si trovano in chiaro contrasto con la fattispecie, si fondano su una svista manifesta o contraddicono in modo urtante il sentimento della giustizia e dell'equità (<ref-ruling> consid. 2.3.1 e rinvii; <ref-ruling> consid. 3.1, 8 consid. 2.1).
2.2. Nella misura in cui, censurando l'accertamento arbitrario dei fatti da parte della Corte cantonale, il ricorrente si limita ad esporre una sua interpretazione degli stessi, il gravame risulta di carattere appellatorio e deve quindi essere dichiarato inammissibile. Spettava infatti al ricorrente confrontarsi puntualmente con gli specifici accertamenti contenuti nel giudizio impugnato, spiegando con una motivazione conforme alle esposte esigenze, perché essi sarebbero manifestamente insostenibili o in chiaro contrasto con determinati atti.
3.
3.1. Riguardo all'imputazione di omicidio intenzionale, il ricorrente fa riferimento agli accertamenti della Corte cantonale relativi alle fasi della sparatoria. Rileva in particolare che la CARP ha rettamente accertato che il filmato della videosorveglianza mostra ch'egli, appena visto H._ colpire la vittima con il manganello, si volta alla sua sinistra e s'incammina (alle ore 20.18.02) in direzione della sua autovettura, iniziando a distanziarsi dalla scena, per poi, all'esplosione dei colpi di pistola da parte di A._, incominciare a correre in direzione del postribolo (L._).
Il ricorrente sostiene che, nel seguito del giudizio, la CARP avrebbe però contraddetto questo accertamento laddove ha affermato che la tesi difensiva, secondo cui, allontanandosi dopo il primo colpo di pistola, egli si sarebbe dissociato dall'intento omicida, non è condivisibile, siccome, correndo, egli ha semplicemente cercato di mettersi al riparo. Secondo il ricorrente, con questa affermazione la Corte cantonale si sarebbe scostata dai fatti accertati inizialmente in modo corretto, ritenendo erroneamente ch'egli si è allontanato soltanto dopo il primo sparo.
3.2. Contrariamente all'opinione del ricorrente, la CARP non ha accertato ch'egli si è allontanato dalla scena del crimine solo dopo che è stato esploso il primo colpo di pistola, ma ha, come visto, riconosciuto ch'egli ha iniziato a distanziarsi quando H._ ha colpito la vittima con il manganello. Ha tuttavia parimenti precisato ch'egli ha iniziato a correre al momento dell'esplosione dei colpi da parte di A._. Gli accertamenti della Corte cantonale al riguardo corrispondono alle immagini della videosorveglianza e concordano con le dichiarazioni del ricorrente medesimo. L'argomentazione ricorsuale non ne dimostra l'arbitrarietà, in particolare non sostanzia un contrasto evidente con gli atti o una manifesta insostenibilità. Il ricorrente adduce piuttosto che tali fatti permetterebbero di escludere la sua intenzione di partecipare al reato. Tuttavia, la questione di sapere se, con l'esposto comportamento, il ricorrente ha agito con dolo eventuale o meno (<ref-law>) o ha dato prova di desistenza (<ref-law>) non concerne di per sé l'accertamento dei fatti, ma l'applicazione del diritto.
3.3. In questo contesto, il ricorrente sostiene inoltre che la Corte cantonale gli avrebbe rimproverato a torto di avere mantenuto la vittima sotto osservazione e di averle poi precluso la via di fuga. Adduce che, per il fatto di essersi allontanato dalla scena non appena H._ ha iniziato l'aggressione, egli non avrebbe potuto bloccare la via di fuga della vittima.
Con questa argomentazione il ricorrente si limita ad esporre in modo appellatorio la sua diversa opinione. Non si confronta con gli accertamenti eseguiti dalla Corte cantonale, in particolare sulla base del filmato della videosorveglianza e delle dichiarazioni delle parti, spiegando con una motivazione conforme alle esposte esigenze per quali ragioni essi sarebbero manifestamente insostenibili e pertanto arbitrari. Il ricorrente omette di considerare che prima di iniziare ad arretrare, quando però l'azione era già avviata, egli e H._ si sono avvicinati alla vittima e, con A._ e I._ provenienti dalla direzione opposta, l'hanno accerchiata. Disattende inoltre ch'egli sapeva già prima della partenza per W._ dello scopo della trasferta e del fatto che H._ portava con sé il manganello e A._ la pistola.
4.
4.1. Il ricorrente rimprovera alla Corte cantonale di non avere preso in considerazione l'esistenza di una telefonata avvenuta la sera dell'8 ottobre 2015, alle ore 20.06, con un suo acquirente di stupefacenti, nel corso della quale è stato fissato un appuntamento per una quarantina di minuti dopo a Z._, presso il domicilio di quest'ultimo. Sostiene che la tempistica dell'appuntamento e il tono calmo della conversazione non si concilierebbero con una trasferta da Z._ a W._ intrapresa allo scopo di commettere un omicidio. Il ricorrente adduce di essere giunto a W._ alle 20.15 circa, sicché, per rispettare l'orario convenuto telefonicamente, avrebbe potuto fermarsi in quel luogo soltanto dieci o quindici minuti. A suo dire, se lo scopo della trasferta fosse stato effettivamente quello di commettere un omicidio, l'appuntamento a Z._ non sarebbe stato fissato a così breve termine, oppure sarebbe stato rimandato, e la telefonata sarebbe stata più concitata, oppure subito troncata.
4.2. Secondo l'<ref-law>, il ricorrente può censurare l'accertamento dei fatti soltanto se è stato svolto in modo manifestamente inesatto o in violazione del diritto ai sensi dell'<ref-law> e l'eliminazione del vizio può essere determinante per l'esito del procedimento. Occorre al proposito rendere verosimile che il difetto sarebbe suscettibile di avere un'influenza sul risultato della procedura, vale a dire che la decisione sarebbe stata diversa se i fatti fossero stati accertati conformemente al diritto (<ref-ruling> consid. 3.4).
4.3. La Corte cantonale ha esposto le ragioni per cui il ricorrente era consapevole degli antefatti e dello scopo della trasferta a W._, volta a regolare i conti con gli avversari in modo certamente non bonale. Ha in particolare considerato ch'egli ha chiesto ad A._ di riunire tutti i compagni, ha preparato un piano di fuga ed ha partecipato alla spedizione punitiva consapevole degli intenti omicidi di A._ e del fatto che questi era armato. L'accertamento dell'esistenza di una telefonata con una terza persona estranea a questi fatti, che sarebbe avvenuta nel corso del tragitto da Z._ a W._, non avrebbe influenza sugli esposti elementi e non muterebbe l'esito del procedimento penale. Del resto, l'omicidio è avvenuto poco dopo le 20.18 e il ricorrente è in seguito subito ripartito in direzione di Z._. La sua permanenza a W._ è quindi stata effettivamente breve e gli avrebbe consentito di ritornare a Z._ in tempo per l'appuntamento concordato.
5.
5.1. Il ricorrente rimprovera alla Corte cantonale di avere ignorato che, prima di allontanarsi dalla scena del crimine egli ha gridato "fermi...fermi", circostanza confermata da H._ che in quel momento si trovava nelle sue immediate vicinanze. Sostiene che questo fatto sarebbe rilevante per valutare la sua volontà di commettere il reato, rispettivamente la sua dissociazione o la sua eventuale desistenza dal consumare il reato.
5.2. La Corte cantonale, pur citando le dichiarazioni rese dal ricorrente nel procedimento penale, non ha accertato in modo esplicito nel giudizio impugnato ch'egli ha esclamato "fermi...fermi" mentre A._ e I._ correvano nella sua direzione. Ha comunque ritenuto complessivamente affidabili le sue dichiarazioni, siccome costanti nel tempo, lineari e supportate dalle immagini della videosorveglianza, in particolare con riferimento al momento in cui la vittima ha estratto la pistola. Il ricorrente rileva che il fatto di avere gridato "fermi... fermi"è stato confermato da H._ in occasione di un interrogatorio di confronto del 22 febbraio 2016. La CARP ha tuttavia ritenuto sostanzialmente inaffidabili le sue dichiarazioni, poiché aveva cambiato più volte versione e aggiunto successivamente dettagli volti a sostenere una tesi difensiva concordata. D'altra parte, nel citato verbale di confronto, l'esclamazione del ricorrente non è stata confermata da A._, che pure avrebbe potuto udirla. Sta di fatto che le dichiarazioni del ricorrente sono state considerate sostanzialmente credibili dalla CARP, la quale non ha esposto eventuali motivi per cui egli non poteva essere creduto anche su questo punto. Nel dubbio, occorre di conseguenza accertare, in modo favorevole per il ricorrente, che mentre A._ e I._ correvano verso la vittima, pochi istanti prima che A._ aprisse il fuoco, il ricorrente ha gridato "fermi...fermi". Come si vedrà in seguito, l'accertamento non conduce però al suo proscioglimento dall'accusa di omicidio intenzionale.
6.
6.1. Il ricorrente sostiene che sulla base dell'accertamento secondo cui egli si è allontanato dalla scena del crimine prima che fossero sparati i colpi di pistola e del fatto che ha tentato di fermare l'azione gridando "fermi...fermi", sarebbe dimostrato ch'egli non aveva l'intenzione di partecipare all'omicidio. Adduce che queste circostanze escluderebbero il dolo eventuale e, subordinatamente, permetterebbero di riconoscere una desistenza ai sensi dell'<ref-law>.
L'ulteriore elemento invocato dal ricorrente a suo discarico, vale a dire l'esistenza di una telefonata con una terza persona prima di giungere a W._, è come visto irrilevante (cfr. consid. 4).
6.2. Ciò che l'autore sapeva, voleva o ha preso in considerazione sono questioni di fatto (<ref-ruling> consid. 8.4.1; <ref-ruling> consid. 2.3.2), che vincolano di principio questa Corte, tranne quando i fatti sono stati accertati in modo manifestamente inesatto o in violazione del diritto (cfr. <ref-law>). È per contro una questione di diritto, quella di sapere se, sulla base dei fatti accertati, la conclusione circa l'esistenza del dolo eventuale sia giustificata (<ref-ruling> consid. 4.2.3).
6.3. Adducendo che i fatti dimostrerebbero ch'egli non voleva partecipare all'omicidio, il ricorrente si fonda esclusivamente sul suo allontanamento dalla scena del crimine e sul fatto di avere gridato "fermi...fermi". Non considera tuttavia l'insieme delle circostanze prese in considerazione e valutate dalla Corte cantonale, in particolare per quanto concerne il suo contributo all'organizzazione della spedizione punitiva a W._. La Corte cantonale ha infatti accertato che il ricorrente sapeva delle intenzioni omicide espresse da A._ e lo ha esplicitamente incitato a radunare i membri del gruppo, che ha elaborato un piano di fuga, ch'era consapevole del fatto che H._ portava con sé un manganello e A._ una pistola carica, e ch'egli ha partecipato alla trasferta a W._ mediante la propria autovettura con H._ al suo fianco. La CARP ha inoltre rilevato che, dopo avere parcheggiato il veicolo, il ricorrente ha raggiunto la vittima assieme a H._ e l'ha seguita quand'ella ha iniziato ad allontanarsi di qualche passo nella direzione opposta, accerchiandola. Questi accertamenti non sono censurati d'arbitrio con una motivazione conforme alle esigenze dell'<ref-law> e sono quindi vincolanti per il Tribunale federale (<ref-law>). Dagli stessi risulta che il ricorrente ha avuto un comportamento attivo e trascinatore sia nella fase dell'organizzazione della spedizione punitiva a W._ sia sul luogo della sparatoria, in cui è stato direttamente presente accerchiando la vittima con H._. Egli era consapevole del fatto che A._ portava con sé una pistola con cui avrebbe potuto attuare i suoi intenti omicidi. La sua partecipazione alla dinamica del gruppo e il suo contributo al reato sono quindi stati rilevanti (cfr. sentenze 6P.188/2006 del 21 febbraio 2007 consid. 6.3 e 6S.135/2005 del 1° settembre 2005 consid. 1.2.2). Egli ha avuto un comportamento attivo fino a pochissimi istanti prima della sparatoria, avendo iniziato ad indietreggiare soltanto quando la vittima è stata colpita dalle manganellate di H._ e si apprestava ad essere raggiunta dai colpi sparati da A._. Si tratta di una reazione tardiva manifestata quando l'azione era già avviata e gli eventi stavano precipitando in maniera irreversibile. Partecipando in tal modo al reato, il ricorrente ha quindi ritenuto possibile l'esito letale dell'aggressione e lo ha accettato. La Corte cantonale lo ha di conseguenza rettamente condannato per omicidio intenzionale per dolo eventuale (cfr. sentenza 6B_1079/2013 del 22 ottobre 2014 consid. 2.4).
Richiamando la sentenza pubblicata in <ref-ruling> il ricorrente sostiene di non avere fatto propria l'intenzione omicida di A._. La censura fa riferimento a tale giudizio del Tribunale federale, senza tuttavia tenere conto dei fatti accertati nella fattispecie, vincolanti per questa Corte. Come visto, il ricorrente era in concreto consapevole dello scopo della trasferta a W._ e degli intenti omicidi del correo. Cionondimeno ha partecipato attivamente alla spedizione punitiva, prendendo in considerazione ed accettando l'eventualità dell'uccisione della vittima. Alla luce degli esposti accertamenti, la censura deve essere respinta nella misura della sua ammissibilità.
6.4. In via subordinata, il ricorrente sostiene che la pena dovrebbe essere attenuata in applicazione dell'<ref-law>, siccome avrebbe dato prova di desistenza.
Giusta l'<ref-law>, il giudice può attenuare la pena o prescindere da ogni pena nei confronti del coautore o compartecipe che si è adoperato seriamente e spontaneamente per impedire la consumazione del reato, sempreché il reato medesimo sia stato commesso indipendentemente dal suo contributo. Nel caso di più partecipanti all'infrazione, una desistenza è di principio possibile solo nella forma del pentimento attivo (sentenza 6B_444/2014 del 7 gennaio 2015 consid. 1.3.2 e 1.4.2; NIGGLI/MAEDER, in: Basler Kommentar, Strafrecht I, 4aed. 2019, n. 25 all'<ref-law>).
In concreto, una desistenza ai sensi dell'<ref-law> non entra in considerazione, giacché il ricorrente non si è attivato per adottare contromisure volte ad impedire la consumazione del reato, ma ha semplicemente iniziato ad indietreggiare ed ha esclamato "fermi...fermi" in una fase già avanzata dell'azione, quando la vittima era già stata colpita dalle manganellate di H._ e si apprestava ad essere raggiunta dai colpi di pistola sparati da A._.
7.
7.1. Il ricorrente contesta inoltre la condanna per infrazione aggravata alla legge sugli stupefacenti, limitatamente al quantitativo di 650 grammi di cocaina venduto a Q._. Sostiene che dalle dichiarazioni di T.T._ (compagna di Q._), di U.T._ (fratello di T.T._ e dipendente dello studio di fisioterapia di Q._) e di V._ (moglie separata di Q._) non risulterebbe ch'essi abbiano avuto conoscenza diretta del traffico di stupefacenti. Il ricorrente sostiene che l'ammontare del debito contrattato da Q._ per l'acquisto dello stupefacente non sarebbe di fr. 30'000.--, secondo quanto dichiarato dallo stesso Q._, bensì di fr. 15'000.--. Adduce che un simile scoperto sarebbe poco verosimile nell'ambito dello spaccio di sostanze stupefacenti e ritiene che la chiamata in correità di Q._ non sarebbe credibile, essendo dettata dall'interesse di proteggere altri suoi fornitori e di favorire la sua scarcerazione.
7.2. Con queste argomentazioni il ricorrente si limita ad esporre una sua opinione, diversa da quella della Corte cantonale, senza tuttavia confrontarsi specificatamente con il considerando n. 57 del giudizio impugnato, spiegando con una motivazione puntuale, conforme alle esigenze dell'<ref-law>, per quali ragioni l'accertamento dei fatti e la valutazione delle prove da parte dei precedenti giudici sarebbero manifestamente insostenibili, in chiaro contrasto con gli atti e conseguentemente arbitrari.
Il ricorrente disattende che le dichiarazioni di T.T._ e U.T._ e di V._ non presentano contraddizioni e sono concordanti con quelle di Q._, ritenute costanti dalla CARP. Omette altresì di considerare che queste persone non hanno soltanto riferito di fatti raccontati loro da Q._, ma hanno anche avuto conoscenza diretta del ricorrente, quando questi si è manifestato in diverse occasioni per ottenere dei rimborsi (parziali) del debito contratto da Q._ per l'acquisto dello stupefacente. In particolare, il ricorrente trascura il fatto che V._ ha dichiarato ch'egli si è presentato al suo domicilio per cercare il marito da cui pretendeva il rimborso di un debito esplicitamente quantificato in fr. 30'000.--, che lei stessa ha presunto essere riconducibile a "questioni di droga". Il ricorrente non si confronta poi minimamente con gli ulteriori elementi presi in considerazione dalla CARP, segnatamente con uno scritto del pronto soccorso dell'ospedale regionale di Z._, che attestava l'aggressione subita da Q._ e con le dichiarazioni di due agenti di polizia che confermavano l'esistenza di prevaricazioni ai danni dello stesso Q._. Poiché non è sostanziato arbitrio alcuno, il gravame non adempie le esposte esigenze di motivazione e non deve pertanto essere esaminato oltre.
8.
Ne segue che il ricorso deve essere respinto nella misura della sua ammissibilità.
La domanda di assistenza giudiziaria con gratuito patrocinio presentata dal ricorrente merita di essere accolta in considerazione della sua situazione finanziaria e del fatto che il gravame non appariva d'acchito privo di possibilità di successo (art. 64 cpv. 1 e 2 LTF). L'avv. Mario Bazzi viene incaricato del suo patrocinio gratuito e a tale titolo la Cassa del Tribunale federale gli verserà un'adeguata indennità.

Per questi motivi, il Tribunale federale pronuncia:
1.
Nella misura in cui è ammissibile, il ricorso è respinto.
2.
La domanda di assistenza giudiziaria con gratuito patrocinio per la procedura dinanzi al Tribunale federale è accolta e al ricorrente viene designato quale patrocinatore l'avv. Mario Bazzi.
3.
Non si prelevano spese giudiziarie.
4.
La Cassa del Tribunale federale verserà all'avv. Mario Bazzi un'indennità di fr. 3'000.--.
5.
Comunicazione alle parti, rispettivamente ai loro patrocinatori, e alla Corte di appello e di revisione penale del Cantone Ticino.