Personally I don't have a problem with one night stays, in fact I get annoyed in tourist areas (like my own area in the English Lake District) when many hotels insist on 2 or even 3 night stays.
It is more of a forum issue.
Pitlochry is only 1:30 by train from Inverness and 1:45 from Glasgow. It is only a small town. It won't take more than 30 minutes (likely less) to find your hotel, dump your bags at reception and be getting on with the day. Get the London train at 0755 from Inverness, and by 1000 you have the day in Pitlochry to do with what you want. Get back on the London train next morning at 0929 and you are at Stirling by 1030. But the first train of the morning is at 0716 from Pitlochry to Stirling, arriving at 0822.; then one at 0819.
Coming from Inverness on the London train 1st class is very affordable, and includes a cooked breakfast served to your seat.
The last train back from Stirling to Pitlochry is at 2021.
Personally I could justify several days in Pitlochry- with the train service, Elizabeth Yule's bus to points north and west, and Stagecoach to points south and even Citylink long distance coaches I, personally, think it is a good touring base. For someone with a car there are even more day trip opportunities.
So, purely personally, I would keep with your two single nights as booked, but would be equally happy with 2 nights in Pitlochry or 2 nights in Stirling. I know I am at variance with some other people here in that viewpoint.