I don't think there is document on how to design an asset model in the product documentation. There are some tips on which asset model to select wether basic asset model or flex asset model in the data:
Apart from that the data model design will depend on your skills/knowledge/experience I would think.
As Pedro said, you will require skills/knowledge/experience, that is surely true if you want to work with FatWire or Oracle WebCenter Sites.
Until unless, you understand fully how Flex assets and Basic asset works (by fully, i mean each and every part of the asset model - no of db tables created, no of association when one asset or flex family is created, elements responsible for performing CRUD operation, dependencies, no of sites, no of pages, complexity of site (dynamic vs static content to be rendered), etc. Many factors come into picture), one cannot provide a good design.
Coming to best practice, sorry to say but in my view, there is no best practice for designing asset models, it depends on various factors as mentioned earlier and level of understanding.