I often have to design XML schemas for different XML-bases import routines. It is clear that XML schemas will evolve over time or they could contain bugs to be fixed, so it
This is such a difficult subject that it's not even funny, and one that I have spent years providing consultancy support for.
There are many best practices out there, but a most of them do not work in all situations. For example, many advocate the use of "xsd:any" to allow extensions, and that is just a recipe for disaster if developers are in charge of maintaining the schema, turning it into a dump.
Here are some tips for you if you're getting started:
Dood luck!