Escribí una herramienta de terminal gratuita llamada displayplacer que permite describir la disposición de tu monitor como un comando de terminal. Luego uso BetterTouchTool para ejecutar estos perfiles a través de teclas de acceso rápido. Tengo el mismo problema que tu, cuando conecto mis monitores la distribución cambia aleatoriamente.
Por ejemplo, en mi configuración de 4 monitores en casa tengo este perfil: displayplacer "id:A46D2F5E-487B-CC69-C588-ECFD519016E5 res:3840x2160 hz:60 color_depth:8 scaling:off origin:(0,0) degree:0" "id:F466F621-B5FA-04A0-0800-CFA6C258DECD res:1440x900 color_depth:4 scaling:on origin:(-1440,1437) degree:0" "id:4C405A05-8798-553B-3550-F93E7A7722BB res:1440x2560 color_depth:8 scaling:off origin:(3840,-363) degree:270" "id:18173D22-3EC6-E735-EEB4-B003BF681F30 res:1920x1200 color_depth:8 scaling:off origin:(960,-1200) degree:0"
También disponible a través de Homebrew brew tap jakehilborn/jakehilborn && brew install displayplacer