If the Madrid stage is the usual Madrid stage, it will be a little gallop from the North into the city and then 10 laps or so of a small circuit in the city that passes through Cibeles 3 times each circuit.
The circuit is go right from cibeles up Gran Via, then turn around half way and go back to Cibeles. They then turn right again on Cibeles and go down Paso del Prado to Fuente del Neptuno which is only about 400m if that, and then turn back and go back down the same road to Cibeles. They then pass through Cibeles and continue up Paseo de Recoletos, when, guess what, they turn back again and go back to Cibeles to start the circuit, again.
The finish is (surprise surprise) Cibeles, more specifically as they pass it going north from Prado.
Prado and Recoletos are big wide duel carriageways with parks in the middle, so if you want a balcony Gran Via is the best option. I think there are balconies on Gran Via, but there are definately windows since I remember people watching from windows. Its quite a cosy road so you would get a good view of the riders coming, turning around and going again. Gran Via also has the only small incline of the stage, of about 2 or 3%.
You would see them pass through 10 times or so but you wouldn't see the finish which is about 2k later.
I would say though the Madrid stage isn't that exciting. You'd get a good view I guess from the balcony though. When I went to see the Madrid stage what I enjoyed was seeing the riders from a different place every time, and even got to the finish for the last lap, and in the meantime, you get a good look at the city since it all takes place in the centre, so you may want to consider that.
Another advantage of that is after you can go see the podium, in Cibeles, (though there are a lot of people) but after that you can go to team buses and see the riders and that.