A few things:
1. The python bindings are SWIG generated, and in my experience they are about as usable as any autogenerated ones will get (which as you point out is not great) without a lot of documentation work. Failing that you're assumed to be familiar or willing to get familiar with the underlying code SWIG is wrapping.
2. The python bindings, last I heard, aren't intended to be the future and may not be getting much love. There's a new IPC based interface that I think is available in recent versions, though I haven't tried it myself.
3. KiCad files are lispy text content, and easy to parse and manipulate as such. If you don't absolutely need live interaction in the application interface itself, an external script that transforms your schematic/pcb file in place and the reloading in into KiCad tends to be a faster approach to this kind of this in my experience.