When developing my own importer of meshes, I tried to implement an alternative way of recalculating normals that takes into account the areas of adjacent polygons. I called it the Hard Edge normals.
Main differense with default recalculation method is polygons area is that a small polygons will have less influence on shading of its larger neighbor. Likewise, the neighbor will have larger influence on the shading of the smaller neighbor.
There is no aditional shader or plugins needed it is just regular mesh that can be serrialized.