This might very well be a shot in the dark but I thought I may as well post this as it seems like it might be a light solution for you.
Lets take a Blueprint enemy and you want to pre set its attributes like you would in an instanced Archetype. Say Health, Armour, Damage, DisplayMesh, PointValue (score for player when unit is destroyed). What if you create a Blueprint of this enemy and have these values (and any others set as a named variable (don’t hard code any of it.) Then create an Enum list of the following:
Then in the main blueprint create a reference to the Enum you created earlier and make it public(viewable in editor) Then in your construction script for the enemy set the default values for enemy based on what you select in the editor from the list on the properties of the ingame instance of the blueprint. That is have some condition checks If enum == BOSS then (set all your values accordingly). That way you have 1 place (in your construction script on the blueprint for the enemy) that you go to change your default values for each enemy type and every instance in the game that is set to “Standard” enemy type will take on those traits, or all the BOSS types will etc. This should give you your archtypes style but in a more compact method. When you want to create a new variant of an enemy then just add the name of the variant to the Enum list and then go into the Enemy’s Blueprint contruction script and add a new set of values for that selection. You can then be tricky and even change that enum selection for that enemy print at runtime to mix up your game play a bit and randomise your enemy types.
Hope that helped. Just writing it out gave me some ideas
**EDIT: I know this means your construction script could get messy especially if you start to have many variants of enemy types but it should do the job if you only have a few varients of each enemy - if you have different AI types or types of other actors then separate BPs for them would be better so you can differentiate between them in the editor.