Fatti: A. La sera del 9 novembre 2006 l'apicoltore A._ accese una stufa elettrica all'interno di un capannone a X._ per accelerare il processo di smielatura e la lasciò incustodita; durante la notte si sviluppò un incendio. Con decreto d'accusa del 23 luglio 2007, cresciuto in giudicato, A._ fu condannato per incendio colposo. I danni subiti da terzi furono risarciti dai rispettivi assicuratori: la C._, la D._e la E._. Tra agosto 2008 e luglio 2009 queste compagnie fecero valere pretese di regresso contro l'apicoltore. B. A._ è socio della Società F._, la quale è titolare di una polizza di "Assicurazione responsabilità civile Società e club" presso la B._SA. Il 21 dicembre 2009 egli ha avviato una causa civile contro questo assicuratore davanti al Pretore di Lugano, chiedendo che fosse accertato l'obbligo di garantire la copertura assicurativa per i danni consecutivi all'incendio, ovvero di prendersi carico delle pretese di regresso di fr. 174'415.-- della C._, fr. 28'000.-- della D._ e fr. 245'438.15 della E._; quest'ultimo importo è stato aumentato a fr. 258'899.15 in sede conclusiva. La convenuta ha eccepito l'improponibilità dell'azione di accertamento e la carenza di legittimazione attiva e ha contestato l'azione nel merito. L'azione è stata respinta dal Pretore aggiunto di Lugano l'8 novembre 2013 e con sentenza del 21 luglio 2015 la II Camera civile del Tribunale di appello ticinese ha respinto anche l'appellazione dell'attore. C. A._ insorge davanti al Tribunale federale con ricorso in materia civile del 14 settembre 2015. Chiede l'annullamento del giudizio cantonale e ripropone le domande formulate in prima istanza. L'opponente risponde di respingere il ricorso "in ordine e nel merito". L'autorità cantonale non si è pronunciata.