I don't agree to the GRE approach for a serie of reasons:
Using a tunnel interface for each peer is a pain in the proverbialbehind.
Yes but... If we group subnets, we can reduce the number of peers and group subnets though tunnels.
Then running ospf inside the subnets and bgp between big 44 islands. :-)