I have not used WooCommerce but what I am using probably works in a similar way. I have a USPS module that cost about $15 and it has several shipping options. I use the weight option. So a bottle of hot sauce weighs 0.75 pounds. If there are three bottles (2.25 pounds) I can bubble wrap them and fit them in a
small free USPS box. This fits inside a free USPS padded envelope. Flat rate $5.70 anywhere in the country.
Then I counted how many fit into USPS Regional A (8) and B (12) boxes, which hold more than the flat rate boxes and ship for less. I then broke the country down into regions and calculated the cost to ship to a zip code in each region. A regional A cost is estimated if the total order weight is between 2.26 - 6 pounds (8 x 0.75). A regional B cost is estimated if the total order weight is between 6.01 - 9 pounds (12 x 0.75). 9.01-18 pounds is double and 18.01-27 pounds is triple the regional B cost. It's cheaper to ship 2 or 3 regional B boxes than to put them all into my own box or a regional C box. So I really only need three boxes and a padded envelope. I have read that most companies ship based on weight-based options, rather than size or numbers.
If you wanted to go flat rate then it will cost the customer a little more but just figure out how many bottles fit into each (or how much weight) and add it to your plugin. WooCommerece is very popular so there should be a lot of support forums to assist.
I hope I didn't mire you down in too many details. It took me a while to figure out my shipping but once I did it runs pretty smooth.