Could be good to have a look at some of the most popular shields to see which pins they are using (except for SPI/I2C) and try to stay away from those pins where possible to make your shield compatible with other shields.
I mostly use Uno's but some Mega2560's too and plenty of custom projects. Most people I know are using only Uno.
Add some pads so SPI can be jumper selected from Uno's D10-11-12-13, or have wires brought over from Mega's 50-51-52-53 (or whatever they are) for max flexibility.
Don't you get the same flexibilty if you plug into the icsp connector instead as on the ethernet shield?
That header is on the same place on both Uno's and Mega's but is connected to different pins.
Or maybe I didn't understand the idea you tried to share.