Personally, I go with a straight up combinator controlled setup. It's count perfect and guarantees that every centrifuge grabs exactly the first 40 that pass by it. Blackout and low power proof.
The combinators by the centrifuge are a simple SR latch based around u-235 == 40 and u-235 == 0.
The outside blue inserter and pair of deciders are responsible for controlling the initial loading. They permanently shut down once the machine is loaded and can be removed if you like. Once the array is running, the belt you use to feed the initial u-235 load can also be completely removed as well. It will never be used again.
The design makes 21.876/min and is tileable in both axis, though the belt routing is a little weird. TBH, the odd snaking nature of the belts is a large portion of what I like about it. It's just something different. There is an upper limit to what a single interconnected array can make but I don't remember what it is. It's a pretty big number as far as u-235 goes though. More than I can use and I like to lob M.I.R.V.s around in the post game.
Looks pretty distinct on the map too.
As far as general routing goes, I just do a simple priority split on my u-235 line. Nothing too fancy. Priority 1 is reactor fuel. Priority 2 is kovarex if present and as noted in the design, this split gets removed once the array is running well enough for my liking. Priority 3 is train fuel. Priority 4 is nukes. Kovarex output gets merged back onto the u-235 line at the start and u-235 from ore processing gets priority so as to not jam the output there.
Edit - there was a small bug in the posted print. A disconnected wire. Fixed.