Displaying commerce product with all product variations and attributes
If you're insistent on not using Views, you might pull it off like this: 


Create a new node type and then add an entity reference field that will reference the product displays for each of your products. Set the values to unlimited.
For each of your individual products, create a product display.
Set the renderer of the entity reference field on the new node you created to "rendered entity"
Theme the product display nodes that are linked to the entity reference field accordingly



  +------+     +------------------+     +----------+
  | Node |1---M| Product Displays |1---1| Products |
  +------+     +------------------+     +----------+
            ^     ^ 
            |     | Theme this entity appropriately.
            |
            | Set this display rendered to "Rendered entities"
 

At that point, you should have a list of rendered node entities that would each have their own add to cart form. You could also add a new view mode (using Display Suite) and use that view mode specifically if you still wanted to use the other view modes.

But honestly, this is an extreme amount of work for something that you could accomplish in 30 minutes with Commerce Add to Cart Extras and Views. And regardless of what I said above, that's still my recommendation.

Edit: You're on the right track with Views Field View. If you're worried about performance (how many products do you have?) then you can also: 


Use Views cache. It's configurable under Advanced in the right-most column of the view configuration screen.
Enable Views Content Cache.
Implement Redis and perhaps Entity Cache.