GregP, I like your original itinerary, flying in and out of Madrid, and the amount of time you allocate for each stop seems reasonable. I have been to all of those places on your list using public transportation, except Ronda, so I can't speak to getting there. Busses in Spain are very convenient and comfortable so please consider both train and bus when looking for your transportation options. Try to include a daytrip to Segovia using one of your Madrid days.
As others have said, I would also save Barcelona and surrounding areas for a future trip with more time, unless you think that you will not return to Spain for a long time. Barcelona would certainly fit all your interests. Then your plan B, switching out Ronda and Salamanca for Barcelona is certainly doable, flying into/out of Barcelona and Madrid.
May I suggest an Option C? I have been to Spain many times. I would personally drop Salamanca and a day from Madrid and add those three days on to Andalucía. I like Salamanca and I have been there twice but I like Andalucía (and Extremadura) even more. Given your interest in art, architecture and photography, take a look at these two absolutely beautiful little Andalucian towns, Baeza and Ùbeda. They would fit in your general route between Granada and Córdoba. These two neighboring towns are surrounded by millions of olive trees in the Guadalquivir River Valley. Scenery is gorgeous. Both towns have beautiful Renaissance buildings, churches and palaces with very compact, fascinating historical centers filled with narrow little streets and alleyways. Both are UNESCO World Heritage sites. Both seem to be off the foreign tourist radar. We got there by train to the Linares station and then took a taxi over to Baeza where we stayed for three nights. We took the public bus to Úbeda (a very short ride) and spent a day there. Both towns were great.
No matter what you choose, there are no bad options. Enjoy Spain.