Fatti: A. P._, cittadina bosniaca nata nel 1955, già attiva in qualità di aiuto cucina, il 10 luglio 2006 ha presentato una domanda di prestazioni indicando quale causa invalidante problemi a livello cervicobrachiale e alla spalla sinistra nonché uno stato depressivo, diabete e ipertensione. Per decisione del 6 luglio 2007 l'Ufficio AI del Cantone Ticino (UAI) ha riconosciuto all'assicurata una rendita intera d'invalidità dal 1° ottobre 2006. Prestazione che è stata confermata il 19 gennaio 2009 in seguito a una prima procedura di revisione. Nel gennaio 2011 l'UAI ha avviato una nuova procedura di revisione. Preso atto delle conclusioni medico-peritali che mettevano in evidenza un miglioramento dello stato di salute (sotto il solo profilo reumatologico) e una migliorata capacità lavorativa (passata al 50%, nel senso di una diminuzione di rendimento sull'arco di una giornata a tempo pieno) in attività sostitutive, l'amministrazione ha ridotto dal 1° marzo 2012 la prestazione fin lì versata all'interessata a un quarto di rendita (decisione del 23 dicembre 2011). A fronte di un reddito senza invalidità di fr. 43'715.- l'amministrazione ha accertato un reddito da invalida di fr. 22'742.-, ottenuto dopo riduzione del 50% del valore base per tenere conto della incapacità lavorativa residua e del 14% in ragione delle particolarità personali e professionali del caso (9% per attività leggera e 5% per altri fattori). In tal modo ha stabilito un grado d'incapacità al guadagno del 48%. B. Adito su ricorso dell'assicurata, il Tribunale delle assicurazioni del Cantone Ticino ha riformato il provvedimento del 23 dicembre 2011 nel senso che le ha riconosciuto una mezza rendita d'invalidità dal 1° marzo 2012 (pronuncia del 31 gennaio 2013). Dopo avere confermato il miglioramento della capacità lavorativa, i giudici cantonali hanno modificato il calcolo dell'invalidità nel senso che hanno aggiunto una riduzione del 2,6% per tenere conto della differenza tra il reddito senza invalidità realizzato e quello mediamente conseguibile a livello nazionale nello specifico settore economico (gap salariale) e aumentato, dal 14% al 15%, la deduzione complessiva operata dall'UAI per tenere conto delle particolarità personali e professionali del caso. In tal modo hanno accertato un tasso d'invalidità del 50%. C. L'UAI ha interposto ricorso in materia di diritto pubblico al Tribunale federale al quale, previa concessione dell'effetto sospensivo, chiede di annullare il giudizio cantonale e di confermare la decisione amministrativa. Dei motivi si dirà, per quanto di rilievo, nei considerandi. L'assicurata propone la reiezione del gravame, mentre l'Ufficio federale delle assicurazioni sociali non si è determinato. Dal canto suo, il Presidente del Tribunale cantonale delle assicurazioni ha segnalato alcuni contributi e sentenze a sostegno della soluzione proposta con la pronuncia impugnata.