Recently noticed that External Content Types can be accessed across sites and even site collections. This makes me think that since many different sites will be using the same ECTs, that they should be in a common area. Is this the best way to go about things by having a single site that contains all ECTs that are referenced throughout SharePoint 2010? Should they be kept closer to where the actual lists will be held? What is the best way to store External Content Types so that reusability is maximized across SharePoint without sacrificing (much...if at all) maintainability.
Ultimately they are stored in the BCS service application, but you do need some way of surfacing the information.
What I've done is host them in the "root" site of my solution (we have 1 global SC and 4 regional SCs). That said, the right answer is requirements driven and is dependent upon the appropriate architecture for your solution.