If you are trying to allow communication between the branches via HQ, it won't work by just adding static routes.
There are 2 methods to allow communication between branches:
1) configure site-to-site VPN tunnels between each branches --> which is not an option as you already mention you do not want to go down this route.
2) configure hub and spoke site-to-site VPN tunnels, where communication between branches will go via HQ.
If you are trying to configure Option 2, then you would need to configure the following:
Branch 1: on the crypto ACL to HQ, you would need to add: source: branch 1 LAN, destination: branch 2 LAN
Branch 2: on the crypto ACL to HQ, you would need to add: source: branch 2 LAN, destination: branch 1 LAN
HQ:
- on the crypto ACL to branch 1, you would need to add: source: branch 2 LAN, destination: branch 1 LAN
- On the crypto ACl to branch 2, you would need to add: source: branch 1 LAN, destination: branch 2 LAN
Then on all the branches, you would need to also add the respective NAT exemption.
Hope that helps.