I suppose I should mention how we route to the blocks internal to our network.
We have a /29 assigned to the WAN interface, and carp running between the two firewalls.
We then have our upstream statically routing blocks to the CARP IP of the firewall, and internally have these blocks assigned to interfaces directly connected on the firewalls. No RFC1918 IP space is used, only public address space.