It depends on how many variations of pages you have. If you just have a few, like the examples you mentioned, a simple approach would be to create a separate template for each case, and use Template Variables (TV) for the second and third content areas. Just create a couple of Rich Text TVs, and assign them to the templates that need the additional content areas. For the sake of this post, let’s say you named them "Content2" and "Content3". Then in your templates, you can put them wherever you want.
For example:
...
<div class="classA">
[*content*] <!-- the regular rich text content -->
</div>
<div class="classB">
[*Content2*]
</div>
<div class="classA">
[*Content3*]
</div>
...
The only difficult part is if you really want the styles of the div wrappers to show up in the rich text editor while your client is editing. That would be much more complicated, I think. But if you don’t have that requirement, this solution will allow your client to have separate rich text areas to work with on any given template.