I never quite got why this isn't some built in setup, although maybe it is and stuff changes so quickly I just missed it. I can use iptables-save to generate something I can feed into iptables-restore, but what I was wondering is if there was a standard place to put it so that it gets picked up on boot without me having to add something to rc.local or the ever changing init/event.d scripts.
From the Ubuntu community help site it seems that Ubuntu has no default method to save rules, but the site suggests two ways:
See this page for details.
Personally I prefer to use Shorewall and Shorewall6 to simplify iptables configuration, which restores iptables rules at startup automatically.
I think it is pretty common for people to use a front-end to iptables like firehol, shorewall, etc, or many others instead of manipulating the tables themselves. Most of these packages setup init scripts to install the rules at boot time for you, and you place your rules in a configuration file appropriate to that tool.
My preference is firehol, I really like the simplified syntax that I get. You don't have to sacrifice flexibility, you can create far more complex rules when you need them. It creates lots of chains to make the rule processing a lot more efficient then you typically see in rules sets entered by hand.