However, I've been contemplating the idea of creating a smarter auto-placement for new boards where it'd take the relative positions on the schematic into account. As in taking the relative distances of parts on the schematic, probably using a weighted heuristic / k-means to determine part clusters.
That'd be about 80% of what I'd want from a full auto-router. The new S-Expression eschema format should make it almost trivial to do as an external program. I tried on the old format and it was way to difficult to parse. Though if the Python API's really have been updated then it could be made into a plugin.
How I do placement now: deleting part of my schematics, then copying the remaining components to the PCB layout, then undoing to get my schematics back, delete another part of the schematics, etc.
Regarding a graphics tablet: I've thought about it, but then I miss the scroll-wheel which is absolutely necessary for zooming in/out. Are there tablets with scroll wheels?
I've not tried Altium's autoplacer, but its autorouter is crap. I bought into PADS in the 90s (it was better than Protel, but not as expensive as OrCAD PCB). It used Specctra and then their own Blaze router. Both were excellent. I can not believe how bad Altium's autorouter still is (it leaves your board full of drc errors including shorts).
It is difficult to convey how well auto-routers can work to people who are used to manually routing boards in Altium because of it's broken auto-router. Seriously you hit the auto-route button, and a few minutes later it's done. You do want to ensure you have good constraints, all of the work is there, and it's a good idea to have them even when manually routing. It's very feasible to move parts around and do trial full routes to help find the best placement.
PADS did have an autoplacer, but it did not work very well as I remember.