Zu Beginn der Saison 2015/16 belegte Giovannini in Calgary den dritten Platz in der Teamverfolgung. Im weiteren Saisonverlauf kam er im A-Weltcup sieben Mal unter die ersten Zehn und erreichte zum Saisonende den zehnten Platz im Gesamtweltcup über 5000/10000 m. Im Dezember 2015 wurde er italienischer Meister im Vierkampf. Im folgenden Monat belegte er bei der Mehrkampfeuropameisterschaft 2016 in Minsk den fünften Platz. Bei der Mehrkampfweltmeisterschaft 2016 in Berlin wurde er Sechster und errang bei den Einzelstreckenweltmeisterschaften 2016 in Kolomna den zehnten Platz über 5000 m und den vierten Platz in der Teamverfolgung. In der Saison 2016/17 siegte er im Massenstart in Astana und belegte in Heerenveen den dritten Platz in der Teamverfolgung. Bei den Einzelstreckenweltmeisterschaften 2017 in Gangwon lief er auf den 20. Platz im Massenstart, auf den 12. Rang über 5000 m und auf den sechsten Platz in der Teamverfolgung. Bei der Mehrkampfweltmeisterschaft Anfang März 2017 in Hamar wurde er Sechster. Die Saison beendete er auf dem zehnten Platz im Gesamtweltcup über 5000/10000 m und auf dem zweiten Rang im Massenstart-Weltcup. In der folgenden Saison erreichte er zwei zweiten Plätzen in der Teamverfolgung und einen Sieg im Massenstart in Calgary den achten Platz im Gesamtweltcup über 5000/10000 m und den zweiten Rang im Massenstart-Weltcup. Bei den Europameisterschaften im Januar 2018 in Kolomna holte er die Silbermedaille im Massenstart. Zudem errang er dort den 13. Platz über 5000 m und den fünften Platz in der Teamverfolgung. Seine besten Platzierungen beim Saisonhöhepunkt, den Olympischen Winterspielen 2018 in Pyeongchang, waren der 12. Platz im Massenstart und der sechste Rang in der Teamverfolgung. Bei der Mehrkampfweltmeisterschaft 2018 in Amsterdam kam er auf den 11. Platz.