++ to Mambo’s point about keeping controls separate from data . Always make a clear distinction between what the engine cares about (usually a very small set of things: bones, skins, maybe marker objects) and what the artists care about : rigs, controls, construction history and so on.
The real job of the exporter is to filter out all of the ‘artist only’ information leaving only what the game cares about. Ideally the separation should be as transparent for the users as possible. If they spend a lot of time moving things into layers or whatnot to prevent them from exporting, that’s time they are not spending making art. Wherever possible the details should be hidden from the user; things that you’re sure you never want should ‘just work’. If there’s ambiguity - say, they want to put an object in the file for scale reference but it should not export, give the user a clear way to tell you that it’s not supposed to be exporting (for example, they could freeze the object). The key thing is to keep the amount of fiddling the users must do to a minimum. You’ll find this is easier if you ask them for explicit instructions about big things - is this a character or a vehicle? is this an animation or a light rig? and then making all the smaller decisions as automatically as possible based on that knowledge. Life is always better when the artists are telling you what they intend instead of you trying to guess.
The other thing to do is to allow the artists to focus on the needs of making art, not formatting things for the engine. For example, your engine may want all rotations as quaternions - but most % of the time your animators will want Euler f-curves. Don’t make them use TCB to make your own life easier. Formatting the data for the way the engine wants it should be done on the import side - in the engine, or ideally in a tool which reads the exported, filtered-down data and does whatever you need to make the engine run. Things like byte ordering,
Talk to the engine programmers, find out what data they expect to see, then figure out the simplest, most robust way to map that onto stuff artists can see. Talk to the artists and find out what they want to do. Identify the key decisions the artists are making (‘this is a character’ or ‘this is where the backpack is supposed to be attached’) and make them clear to the artists with UI and clear to the engine in the way they are expressed.