Currently, Shipping Provider plugins really only provide "estimates" of the shipping methods/amount so that the customer chooses one and the shipping amount is part of the order subtotal. Some third party shipping provider plugins will do additional 'integration' with the carrier to send order information / items so that the actual shipment creations can be done online at the carrier's site (or 3rd party like a Ship Station).
However, the bottom line is that physically packing the boxes is done by a person, and thus the final "packages" (weight and dimensions) is not really known until then. How you pack your boxes is going to be dependent on your items (e.g. fragile items may need lots of packing material that takes up space; heavy items may need to be packed separately [nopC does support product "ship separately"]), and the sizes of the boxes that you have.
Most carriers charge by weight, so the estimate $ amount charged for shipping should be close, but dimensional weight could impact that. The cubic root method does a fair job of doing the estimate, unless you have many lightweight items that would cause dimensional weight to apply. Also, cubic root does not know what size boxes you have.
Shipping Director (shameless plug ;) has an additional
Packing rule that uses a "single box size, first fit" algorithm. We've recently added (still undocumented) a "Stacking" algorithm (for stacking items like traffic safety cones), and we're working on an "optimal bin packing" algorithm (computationally expensive and difficult to implement). That said though, nopCommerce does not support any built-in 'integration' so that the packing information could be put on the order (or better yet, automatically create Shipments). The Order itself is not in existence until the customer confirms, so it's not possible to use Order Notes or create the Shipments, unless a third party plugin can 'cache' the information somewhere and defer putting it on the order until the order exists.