From the perspective of splitting the abcip files, keep each complete conversation (keyed by ports, ip, transport protocol) in one piece and distribute them evenly across however many threads (and thus .abc files) you want to process simultaneously.
If you’re dealing with a live capture the same concept applies, either split them at capture or with some sort of post processing that keeps the conversations atomic.

How are you capturing that pcap? Are you able to split by flows (be careful doing this if you want visibility into multi-channel protocols like ftp or sip)? We currently don’t have internally load balancing but can take advantage of multiple
input streams, either by specifying multiple input pcaps or multiple input interfaces with load-balancing before reaching snort. Look into using afpacket w/ fanout=hash for kernel hash load balancing if dealing with live traffic.