Hi, thanks for taking the time to write a detailed post.
The game does use a humanoid rig, which I extracted from the bindpose matrices of the character mesh and imported to Blender via some scripts I wrote. It also uses Unity's animation system as a base, with avatar objects, etc. In addition, it has a custom animation system layered on top of Unity's, with things like a custom IK solver, etc.
The extracted rig contains extra bones for things like weapon placements, alignments, etc. For this reason, importing any generic humanoid rig is not sufficient enough.
The model importer allows for direct export from Blender via a script. There are pros and cons to switching to an asset bundle loader type system. With asset bundles, those looking to import will need a correct version of Unity and will need to build their asset bundle in a specific way to be compatible for import. This is a higher barrier to entry imo, though I do agree it would be easier to implement and work with such a system on my end.
The model importer as is already handles the export, import, and creation of all relevant mesh data successfully (vertex positions, normals, uvs, materials, textures, bone weights, bindpose matrices). Meshes and animations look correct, but bone lengths are not maintained as expected. I suspect there are a few possible reasons, such as needing to regenerate the bone transforms, needing to rebuild the avatar object, or possibly something to do with the custom animation system.
Overall, I don't think it would take more than a day or two to solve, though I have put down work on the importer until after version 10 (the current importer will release with v10). If I am still unable to solve it then, I will test with asset bundles, and if successful, will switch to that methodology. Regardless, I greatly appreciate the feedback!