Please, share your understanding of the hues in meanings of these three words. American English is preferred, but British input would also be appreciated.
Broadly speaking, a stubborn person/animal insists on doing something despite all advice/evidence/exhortation to the contrary, while a balky person/animal insists on not doing something, despite exhortations. Balky is also used more with animals or inanimate objects than with people, while stubborn can be used with anything, but if it's applied to animals, it's usually with a meaning closer to "balky". (A stubborn donkey, for example, is so insistent on not going anywhere that it practically sits down.)
Restive is quite different in my usage - it's closer to impatient. (Though I note that the dictionary gives both "stubborn" and "balky" as alternative definitions.)
If somebody is stubborn, it has an idea or many ideas on how to do something, refusing anything else. On the other hand, restive person is just generally impatient and hard to be controlled. Restiveness can be a temporary state of a person caused by something embarrassing him. Alternatively, restiveness can be caused by lack of respect or culture. In contrast to that, stubbornness is usually caused by fervent beliefs in the ideas and/or deep wish to be always right.
As far as I know, the word "balky" is usually applied to animals or things, rather than persons and it can be applied to persons only in informal speech. If you say that someone is balky, you pretend to control his behavior (like you can control a dog or device or computer program) but the person refuses to do what you want him to do.