Vassals only rebel based upon the territory and population, I don't think tech or espionage would help. This is part of the BtS mechanics, why do you think it should change?
In history one often become others vassal when weak or defeated, and rebel when raised another army or regained power in any means. Venice was vassal of Byz and benefited more than master.
Also, when I get a vassal, I won't have to worry about them anymore. In my emperor Spanish game, English vassalized to me when we were at war with France, and I played a straightforward game since I killed French (got all AA source, killed Dutch too, and demanded English AA).