It looks packed indeed. Did you make list, and put the nights you want to stay at each place next to it? I guess it could reveal some problems, as far as time is concerned. (don't be to afraid to skip a city on this tour, it will still be there for the next one).
Take nighttrains, to get to places that would take you about 6-7 hours or more. But make sure that you can actualy sleep on these trains. In your trip, most distances are too short between the cities. but you could opt for nighttrains in the south of France to get to Spain, or between Amsterdam and Munich (if you would skip the places in between).
There are some remarks I would like to make:
Why wouldn't fly London - Glasgow or London - Edinburgh. There are numerous flights between both these Scottish cities and London (check RyanAir, Easyjet, BMI). A bus would at least need 7-8 hours to reach Scotland. I also don't see the need to return to London, you can get a flight to Amsterdam straight away. (Edinburgh - Amsterdam is available at Easyjet). That can save you the long bustrip back to London.
Wurzburg is not really a small town, so i would get a train directly to the places you want to visit in Germany. Frankfurt can be nice for a day, but in my opinion there are better options in Germany. If you take the train to Frankfurt or another place, and you are passing Cologne, make sure to make a short stop, to visit the Cathedral (it's just across the square from the Train Station)
It might be a better plan to Go Munich - Salzburg - (Cesky Krumlow) - Prague - Vienna. I think that is the most time efficient, but you can check yourself on
www.bahn.de I put Cesky Krumlow in the mix, because it might be a good place to stop between Salzburg and Prague.
If you would stick to getting from Salzburg to Vienna by car:
then don't only take time to see the lake district (Salzkammergut), but also take a look in Melk (you can visit the big monostry), and get away from the Autobahn, and find your way along the Donau (Danube) to Vienna. The area you will be driving through is called the Wauchau (from Melk till Krems, after that, the landscape open up to a wider valley). I think it would be wise to split the trip in two days, maybe staying in Melk for the night.
Budapest, first find out how many days you want to spend in other places.
I guess the best way to reach Croatia is by train. Which places do you want to visit in Croatia. It makes a difference if you want to visit Zagreb or Istria or you want to see Dubrovnik. In case you want to visit Dubrovnik, than I would try to find a cheap budget flight, to get there.
Why would you go back to Italy, to take a flight to Athens. I know that Easyjet has the cheapest flights to get into Athens, but I would reconsider, if it is worth it, to first travel from Croatia to Milan. You can consider taking a flight that is a little bit more expensive by AirOne, from Trieste (that is much nearer to Croatia) to Athens.
You could also fly back from Ahens to Roma with this company, or with Olympic Airlines, Aegean Airlines and even Alitalia, has some good offers. But you could also get to Milan with Easyjet, and get to Venice, Florence and Roma. (and take another plane from there).
Remember that train travel in France and Spain can be very long travels. A lot of people, tend to fly to Barcelona or Madrid, straight from Rome or another place in Italy. As you don't give names of the places you want to visit in France of Spain, it's a little hard to give you information.