State names and their definitions should be standardized and registered in a registry. Like the IANA assignments. When a new integration is developed it should be measured by how much it is aligned with the registered state names and their formatting. When new cards are created they should all tie to the standard state names and formatting.
A great example of where this would be greatly beneficial is all the weather related integrations and cards. Mix and matching those is very difficult. Each integration creates major twists on how to name and present the state data. I spent the better part of a Saturday making a cross reference of state names and creating jinja templates to correctly map the values from the integrations to a couple of the weather cards. It must be one of the largest learning curves for new users.
Another example is alarm integrations. There are a couple and each has custom cards that only work with the one integration. There is no reason the “view” needs to be custom for each underlying controller. It just needs a standardized data model. In MVC terms.