Dear All,
I have made one or two topics a few weeks ago on how to get this topology working, and finally I have completed it ( yet I think so.. ).
There are 2 Networks on my spokes, DATA and INTERNET.
DATA network is always most important, and INTERNET is least.
What I have achieved is , DATA will always use HUB1 as its primary Hub, because it's more reliable and I wanted to centralize each network within one Hub instead of load balancing between two Hub's.Because ISP2 is less reliable, I made it so DATA will always use ISP1 if possible, while INTERNET always goes through ISP2 if possible to reduce the load on ISP1.
I need some recommendation from other people too because I haven't seen anyone else with the same or similar configuration to get this working.Thats why i'm not so sure if this configuration should work fine when it comes to production.
Note : This was all simulated in my Lab environment , and it SHOULD work the same way in production, since its the same topology there too.I have also changed all the IP addresses , so the configs might not be suitable for Copy Paste and needs editing.
Thanks all, and I appreciate everyones contribute.
Here's a screenshot of my Lab:

IP Addressing:
Spoke:
DATA : 200.100.100.0/24
INTERNET: 200.101.100.0/24
ISP1: 192.168.28.18/30 - gw 192.168.28.17.
ISP2: 111.111.111.100/24 - no gw needed because its Layer 2 VPN.
Hub1:
T0 : 100.100.100.1/24
T1 : 100.100.101.1/24
ISP1: 192.168.28.249/29 - gw 192.168.28.254.
ISP2: 111.111.111.1 - no gw needed because its Layer 2 VPN.
Hub2:
T0 : 100.100.200.1/24
T1 : 100.100.201.1/24
ISP1 : 192.168.28.250/29 - gw 192.168.28.254
ISP2 : 111.111.111.2/24 - no gw needed because its Layer 2 VPN.
Stack Switch:
Simulated networks on Vlan interfaces:
100.140.2.1/24
100.140.3.1/24
100.200.200.1/24