I think there are arguments for either Strasbourg or Colmar as your base. Check lodging rates, as there may be a difference in favor of Colmar. Colmar is closer to a number of charming little wine villages, as well as to Haut-Koenigsbourg and Monkey Mountain, but there may be better transportation to the last two from Strasbourg, for all I know. Strasbourg is quite large, so hotel/B&B location will be more important there than in the much smaller Colmar.
Also take a look at train schedules. Colmar is a bit closer to Nice, but I think there's an extra morning TGV from Strasbourg that doesn't go through Colmar; probably not critical to your plans, but worth checking. If you're traveling from Strasbourg, I think Lyon is the best stopover, and the city has tons to see. If from Colmar, Avignon or Aix-en-Provence will be closer to the middle of the trip, but neither of those TGV stations is right near town, a disadvantage when you're just stopping over briefly and want to see something. The 9:33 AM departure from Colmar (earlier from Strasbourg) has a 99-minute layover at Marseille, where a train-change is mandatory whichever departure you choose. So overnighting in Marseille wouldn't be a crazy idea. The area right around St. Charles station is not the prettiest in the city, so I'd seek a hotel in the Old Port area.
The TGV fares from Strasbourg/Colmar to and from to Nice will be quite costly if you wait until near your travel date to buy the tickets. You can check out day-of-travel fares vs. buy-in-advance fares on the SNCF website. Note that the cheapest tickets are non-refundable/non-changeable, so you need to be sure of your timing before buying them. A quick spot-check indicates that the fare just for Colmar-Lyon could be as low as 28 euros or as high as 200+ euros. That would be an "ouch".
Edited to add: You might want to consider flying from Strasbourg to Nice since you don't have time for significant sightseeing along the way. There are non-stop flights. Depending on your travel date, you might find one for under $50, plus luggage and seat-selection charges.
You said "late spring", so I assume that means well after May 1. There is no public transportation into town from the Nice airport on that day, due to the holiday.