I don't think there is any decent way. That is why cryptomatte became "game changer" (with some issues as well, as you can see in your screen). You can play with edge in compositor, but it always brings some artefacts (inaccuracy) in final comp.
Short pixel "steps" can be disolved quite easily, but long pixel "steps" can't (as you can see on vertical edge). Also corners became a bit chewy. I used ColorRamp instead of Delite/Erode, because it was easier to adjust edge.
Ad Cryptomatte - in Fusion, there seems to be a way of node tree that can avoid that. So probably someone can bring it into a blender as well. https://blenderartists.org/t/cryptomate-matte-edge-imperfection/1189344/3