Test and measure
Due to complexity of the stack the only reliable way to truly maximize performance is to test your application with representative data and measure the throughput and power usage. It's important to keep in mind that tweaking parameters by trial and error and fine-tuning them will only be reliable for sequential operations on known stacks.
Many behaviours are implementation dependant and many operations are best effort and not guaranteed to succeed. The stack has a lot of latitude to change its behaviour in accordance with resource constrains and other commitments. For example your advertising may be severely affected by other operations that take precedence like keeping up a connection.
If your device needs to communicate with an unknown device or you run a non-trivial combination of concurrent operations your fine-tuning should give way to sound principles since stack behaviours vary and you cannot test against all stacks and sequences of operations.