How to handle multiple nested shortcodes with different tags?

I would call your use of shortcode nesting as a bad idea, therefor what you really need is a rethinking of your strategy.

It is not bad by itself to nest shortcodes, but shortcodes should be independent entities and in your structure the inner ones will obviously depend on being “inner” and will not have any use by themselves. One wrong copy and paste, one character added in the wrong place and your whole structure fails without the user having any tools to debug it.

If your core content is a review, then just add a meta box in which it can be filled with all the relevant data and just use a [review] shortcode to display it.