This is a reference post summarizing ideas for improving the current model of generating varied starting positions, created by runarberg:
https://runarberg.github.io/randomgostoneplacements/
This new thread was created as the first one got pretty long (could someone add ā(old)ā at the end of the name and lock the previous thread?thanks @AdamR):
https://forums.onlinego.com/t/semirandomstartingposition/27801

What constitutes an interesting/uninteresting starting position? We currently have stonefree margin (no stones near edges) and spreading apart. Is there any other factor?

To reduce clustering there are two types of ideas so far, each with a few specific models.
 Biased placing of stones
 adaptive probability field: table of probabilities over the board that changes as stones are placed.
 loose circle packing: guaranteeing certain length of minimum separation between stones. (edit: this feels too restrictive alone; perhaps combine?)
 Postprocessing a randomly generated configuration
 repulsive random walk: probability to move in each direction varies with crowdedness.
 reluctant walker: accept or reject a candidate move according to relative crowdedness of current and candidate location (aka MetropolisHastings algorithm).

There are multiple possible definitions for crowdedness.
 distance to nearest stone.
 each stone weighted according to distance: diluted contributions.
 number of stones in a given radius: neighbor counting.

Taxicab geometry might be suitable: kosumi and onespace jump are considered the same distance.

Iām thinking of relearning programming to attempt simulating and comparing those models. Iām looking at ipython as it seems simplest but let me know if anyone knows a language better suited for this (grid based simulation).

The only method for comparison so far is visual inspection of generated configurations.

Using AI to ensure certain degree of fairness, which can be circumvented somewhat by some form of Icutyouchoose at beginning of game. Bonus problem: optimal placement of a hole, which works like the edge, to balance the configuration of stones.

There is an unrelated OGS group with a similar idea:
https://onlinego.com/group/1557