I’ve used state charts in multi-billion legacy apps and they’ve stayed quite clean.
Just don’t use one state chart for everything. Just like any data structure, use multiple of them scoped appropriately