You could use the product
schema class for each product, and then specify the INCI's using an additional (custom) property for each one, for example if your shampoo had Shea Butter and Water as ingredients (clearly I'm no expert on cosmetics!):
<div itemscope itemtype="http://schema.org/Product">
<img itemprop="image" src="shampoo123.jpg" alt="" />
<span itemprop="name">Shampoo Product Name</span>
<div itemprop="additionalProperty" itemscope itemtype="http://schema.org/PropertyValue">
<span itemprop="name">Ingredient</span>:
<span itemprop="value">Butyrospermum Parkii (Shea Butter)</span>
<meta itemprop="identifier" content="Butyrospermum Parkii (Shea Butter)"/>
<meta itemprop="description" content="Shea Butter"/>
<meta itemprop="propertyID" content="INCI"/>
</div>
<div itemprop="additionalProperty" itemscope itemtype="http://schema.org/PropertyValue">
<span itemprop="name">Ingredient</span>:
<span itemprop="value">Aqua (Water)</span>
<meta itemprop="identifier" content="Aqua (Water)"/>
<meta itemprop="description" content="Water"/>
<meta itemprop="propertyID" content="INCI"/>
</div>
</div>
Beyond this if you wanted a specific schema for your cosmetic products you could:
(a) create your own schema extension for your requirements, or
(b) propose and contribute a new descendant of Product
such as CosmeticProduct