Yes, I managed!
Here are my steps (roughly) in case someone has the same question:
1) created a custom variant listing as override derived from "show_block_characteristic.php" which I load into my listing layout
2) to that new variant listing I added these lines:
$productClass = hikashop_get('class.product');
$productClass->loadProductVariants($this->row);
$productClass->generateVariantData($this->row);
$this->row->product_quantity_layout = 'show_regrouped';
3) created a new custom override for price, as the price layout needs to show the variant price (maybe there's a better way, but this was the easiest. I created a temporary var in the product called $this->row->currentVariant with the variant in it, so I could adapt the price with one little change
4) created a new custom override fro addToCart, as that needed the same type of adaptions as the price, as well as a separate custom JS object called instead of hikashop.addToCart.
5) created a hikashop_custom.js with only an adapted version of the addToCart function. A few lines had to be adapted for the container class mainly.
It's not quite an add-on to sell but it works for this client. Thanks for your help, as far as I can see, the ticket can be closed.