It seem that my suggestion using EEM is not good solution for you.
If Yes then we must go to l3 layer.
Config ospf or eigrp between spoke and two hubs and make primary hub tunnel cost less than backup tunnel hub'
This make traffic pass through primary when failed the traffic pass through backup.
Note:- even this solution need use either eem or keepalive under tunnel