From McLeod/Dharamsala I went back the same way I came up from Mandi, but I cheated a little bit by taking a taxi for the first 90 km up to Ghatasani (from there its 40 km all downhill to Mandi). There are mainly two reasons why I took the taxi: first to escape as fast as possible and dry from the monsoon-pot of McLeod/Dharamsala, and second to escape the unpleasant traffic between McLeod/Dharamsala and Baijnath and the climb afterwards. I compiled my following stages using google maps and Lonley Planet since I had no accurate maps or guide for this unforeseen plan B.
Stage 1: from Mandi to Rewalsar, over NH70 and MDR 26
25 km, 825 m total positive altitude difference Very nice stretch. Good road, little traffic after turn-off on MDR26. Rewalsar is a nice and peaceful village at 1350 m with at least 4 hotels. and many monasteries, including a giant Buddha statue like in Likhir and Diskit. However, there is a better place to stay (see stage 2).
Stage 2: from Rewalsar to Gompa, lakes and Hindi-temple on "top of Rewalsar" (~1800 m), back to Rewalsar and further to Sundernagar, over MDR26
11 km, ~500 m total positive altitude difference up to "top of Rewalsar" (oneway) 28 km, ~400 m total positive altitude difference from Rewalsar to Sundernagar Continuing for 0.5 km southwards of Rewalsar on MDR26 take the turn-off to the right and follow the road uphill. There is second turn-off after ~2 km, where you have to go left (hopefully the GPS-data come out correctly). Fantastic panoramic (and steep) little mountain road up to "top of Rewalsar". No traffic at all in the early morning. At midway there is a very nice restaurant (called Midway) with superb views down the valley. They have a couple of nice rooms (I had a look) for "no money". The owner is very kind too. I may provide phone number later. If I had known, I would have stayed there rather than in Rewalsar-village. There is another, but less appealing guesthouse in a small village above a lake 2 km before the top. The stretch from Rewalsar to Sundernagar over MDR26 is a dream! I blindly followed the google maps indications, and it worked out well. This road leading to the Sundernagar-lake through the back-country. It is not on the road maps I had. Sundernagar (800 m) is a sticky and noisy small indian town with a couple of hotels along the NH21, north of the town centre.
Stage 3: from Sundernagar to Chindi, over SH13
82 km, 2000 m total positive altitude difference (10 hrs of cycling) Again a very nice stretch, with little traffic. There are many small villages on the way where you can get food or drinks, but hardly any recommendable hotel or guesthouse, except the PW-Resthouse in Rohanda, after ~34 km (however, after having been denied access twice before in PW-Resthouses, for obscure reasons, I did not ask a third time). There is another "hotel" on a ridge, a couple of km further uphill along the road. I stopped there to get water, but beware! This most desolate place reminded me of the Bates' Motel from Hitchcock's Psycho. It is "run" by two weird gays which "invited" me to stay with them ... To go to Tatapani there is a shortcut down from the ridge, however this street is not even indicated on google maps. Taking this road (see turn-off on GPS-track) might allow to go in one day from Sundernagar to Tatapani, in less than 100 km and definitely less than 2000 m of altitude difference. Several local people confirmed this short-cut independently. In the other direction, from Tatapani towards Sundernagar, this shortcut road can be catched by following the signpost "Chiva Caves" at the turn-off 2 km uphill from Tatapani on the SH13. Then, after 2 more km, after passing by the cave and crossing a bridge, take the road on the left which follows the Sutlej river for about 1 km before climbing. There is a signpost, but in Hindi. I walked up to there and checked it (GPS-data recorded). However, I did not take the shortcut since I had time and wanted to stay in the HPTDC-hotel Malmeshwer in Chindi and to enjoy the coolness (2000 m) and the calm (furthermore, they offered 40% monsoon-discount on the room rate). I stayed 2 nights. So I sticked to the google maps roadbook. It lead me straight to the goal, but it may be misleading, since it takes another shortcut and leaves the SH13 for about 12 km!
Stage 4: from Chindi to Tatapani, over SH13
40 km, 70 m total positive altitude difference (mainly downhill) Once more, the SH13 is a gem for cycling. On this stretch it leads through a beautiful gorge on the last 10 km or so before Tatapani. Tatapani is a peaceful little village which is well known for its hot springs. It is located on the shore of the Sutlej river, at 650 m. There are a couple of hotels and guesthouses. I stayed at the nice hotel Hot Springs. From Tatapani there is also the MDR22 which follows the Sutlej river upstream towards the east to join Luhri after 55 km and from there after 3 more km the NH22 at Sainj, the base of the climb to Narkanda. On a oneday-roundtrip I cycled the first 40 km of this stretch from Tatapani, than I turned back (according to your descriptions, the lower Kinaur-valley is flyblown; since I am not so fond of flies, I turned back when I encountered the first ones). The whole stretch of 58 km might be cycled in 5 hours. Its more or less flat. The road undulates between 700 and 800 m, with an estimated total positive altitude difference of 400 m downstream. Traffic is relatively poor. The landscape is breathtaking. However, even though 95% tarmac, the surface condition of the road is quite poor, and head winds are prone to pick up after 11:00 AM (going downstream). Moreover, this road might be dangerous during rainfalls. Otherwise it might be an enjoyable alternative to join Shimla via Tatapani and Naldehra over SH13 (see following stage).
Stage 5: from Tatapani to Shimla, over SH13 and NH22
54 km, 1700 m total positive altitude difference (6 hours cycling) SH13 still wonderful, up to Intersection with NH22, however, traffic increases significantly after Naldehra. Thanks to your precise route description I found easily my way to my Hotel (Spars Lodge, Lonley Planet), over the Ridge and Mall street. I enjoyed the ride from Sundernagar via Tatapani to Shimla over SH13 pretty much and can strongly recommend this route.
Stage 6: from Shimla to Chail, via Kufri, over NH22 and MDR8
42 km, 600 m total positive altitude difference (3.5 hours cycling) Same way back to the SH13-turnoff, then to Kufri via NH22, as in your book (15 km, from Spars Lodge). In Kufri, turn off right onto MDR8 to Chail (28 km). The MDR8 continues climbing for 1 or 2 km up to roughly 2600 m, to the Kufri-Zoo, then its mostly downhill or flat until Chail. The road surface of MDR8 is however sometimes rough. Traffic is reasonably low, so that one can enjoy the beauty and peacefulness of nature. In Chail I stayed 3 days at the fantastic United-21 resort to relax a little bit from chaotic and monkey-infested Shimla.
Stage 7: from Chail (Janedghat) to Chandigarh, via Kandaghat, Solan and Barog over MDR8, MDR9 and NH22
120 km, 1000 m total positive altitude difference (6.5 hours cycling) From Chail-Janedghat to Kandaghat (33km) over MDR 8 very peaceful and beautiful. After Chail the road surface quality improves significantly. In Kandaghat the MDR8 joins the NH22 and traffic becomes a matter, especially around Solan. After Solan I took the nice road through Barog-Valley (MDR9) which joins NH22 again after 10 km. From Solan to Barog its all uphill, about 400 m of height difference. Afterwards its all downhill until Chandigarh. From Parwanoo onwards, about 30 km before Chandigarh, the NH22 mutes to a real highway, with up to 6 lanes. From here I enjoyed the last stretch until Chandigarh a lot. Downhill, private lane on the surelevated highway, not too much traffic (Sunday afternoon), leads you straight and fast to Chandigarh, where I am staying at the resort Aura Vaseela south of the airport. A very nice place to chill out and finish this exciting trip!
I had a great time in northern India. I still have some regrets not having been able to travel through Spiti-valley, but the last improvised part, from Mandi to Chandigarh through the still more or less untouched original backcountry was a great experience too. There I found the nicest roads and best cycling conditions of my whole journey.