Controlling priority of self-hosted runners

We currently have a pool of self-hosted macOS runners, spread across a few different macOS devices. Is there a way to control the priority of self-hosted runners that are selected for jobs, other than their initial setup order? For example, if we have five runners that all match the macos-runner label, by default it just selects the first runner that was ever added to the org that matches the label. Is there a way to re-order this?

The use case is, we have three runners per macOS device (in this case, Mac Minis). We want to load-balance so that we use a runner on each Mac Mini, before starting to use the second runner on each Mac Mini, and so on (in order to make most efficient use of the processing power on each Mac). The only way we can think of doing this currently is to remove each runner and re-add in a specific order (which we’d have to do again every time we add more devices to the pool).

Is there any other way to accomplish this? Thanks.

I would definitely consider a thing that watched for jobs and only added the extra runners when the primary runners were all busy.

I don’t think there are any other provisions available for what you’re imagining.