To be sure I understand, it sounds like you're saying you add one rule per service, then publish, and you want the publish to look like it's a single rule instead of two or more. Publishing shows the changes made accurately. If you add multiple rules, it will always show multiple rules added.
Why not just add a single rule with multiple services? Via HTTP, you simply stick an array of service object names or UUIDs into the "service" key. Via mgmt_cli, you have to deal with how mgmt_cli represents arrays and do "service.1 <name or UUID> service.2 <name or UUID> service.3 <name or UUID> ...".