Andy,
While it's easily possible to visit Varenna and Lago di Como as a day trip from Milan (I made a return day trip visit there last June), I'd suggest at least one night there. That will allow a bit more time to explore not only Varenna but also Bellagio.
If you do decide to visit on a day trip, I'd suggest getting an early start from Milan and return as late as possible (I believe there's a train departing Varenna-Esino at about 21:00). That will allow you some time for a fine hot meal at Albergo Olivedo by the Ferry dock (Laura's Ravioli is excellent!). Dining doesn't open until 19:00 as I recall.
Regarding your question about staying in Verona and then getting to MXP for an 11:15 flight, I wouldn't recommend it. While it might be possible to catch an early train from Verona, that doesn't allow for any "unexpected variables", so there's a greater risk you could miss your flight. If you took the Malpensa Shuttle from Milano Centrale, it could be delayed by traffic or (perish the thought) there could be a strike!
My preference would be to stay in Milan the night before the flight, and use the Malpensa Express which departs from Cadorna Station (rather than Milano Centrale). That way, there will be no worries about traffic. On my visit last year, I bought my ticket the day before travelling so as not to waste any time. If you book a room at Hotel London, it's only about a 5-minute Taxi ride from Cadorna Station (you could also walk from Via Dante in about 15-20 minutes if you're energetic).
Happy travels!