The present invention provides systems and methods for programming connections through a multi-stage switch fabric. The present invention utilizes load-balancing, blocking recovery, background rebalancing, and rollback algorithms to select and manage connection balance on center stage switches in the multi-stage switch fabric for new and modified connections. The load-balancing algorithm attempts to spread the multi-connection slices across center stage switches as evenly as possible, to increase the probability that future multi-connection slices can be added without needing to rearrange existing slices. Advantageously, the present invention is efficient by making the best possible local decision for one multi-connection slice at a time, without considering other multi-connection slices that may also need center switch assignments. Additionally blocking recovery, rollback and background rebalancing features are also supported.