This is something that really needs to be fixed, and I'm open to suggestions for improving my fort design. I think it makes sense for dwarves to get a negative thought from seeing a corpse, even an enemy corpse, but if I have a corpse stockpile with dozens of slain enemies in it, then even if I wall it off and restrict access, a very happy dwarf can have a sudden plunge in morale to tantrum levels if they have to take a fresh corpse to the stockpile and see all of the other corpses there. Why not have a corpse pit where corpses can be thrown without the thrower having to see all of the existing corpses? I know this can already be done with garbage dumps, but doing this with corpses would require manually designating each corpse to be dumped, when I like as much of my fortress to be automated as possible.
Additionally, there is in psychology, usually a diminishing return, precisely to stop our minds from being overwhelmed by a flood of new inputs. So for example, the effect of seeing 36 corpses all at once should not be 36x the effect of seeing one corpse. There are short term and long term adaptations in the mind to new stimuli. I would have to check this, but I think in most cases, the mind's response to n new inputs of the same type is typically O(log n). This could be implemented by simply having the kth corpse in a short time period have 1/k times the effect of the first corpse, with k gradually returning to 1 (exponential decay, probably) as time passes without seeing another corpse.
I'd also like to see better control of cleaning up refuse and other debris on the outside. My fortress, like I'm sure many others, has a walled-in above-ground portion where I keep my above-ground crops, grazing animals, beehives, and militia training grounds. If a dwarf who has been cave-adapted comes up to the surface and starts vomiting everywhere, or if someone is injured and drips blood everywhere, the dwarves don't clean it up and it is left to disturb anyone walking past it. Rain will eventually clean it up, but if you are in a desert area and not in the rainy season, this can take a while. Also, since animal corpses are considered refuse, the only way to get an animal corpse cleaned up if it dies above ground is to enable refuse hauling for the entire above-ground map, and since I prefer larger embarks, this is a pretty wide-reaching area. It would be nice to be able to designate a specific area for cleanup and refuse hauling rather than just being able to set to inside or outside. This is what Rimworld does, and it works well.
Another thing I have noticed is that a lot of my dwarves have negative thoughts from things like not being able to pray to their god, despite me having an easily-accessible temple devoted to their god, or not having access to decent meals, despite me having a large number of prepared meals, or having to drink without a mug, despite me having multiple taverns with many mugs in them, or not having clothes, despite me having ample stockpiles with many clothes in them, or having to sleep on rough stone despite me having a dormitory with many unused beds in it, or not being able to see friends or family. In the last case, if their family is at the fortress, it should be easier for them to spend time together, if their family is not at the fortress, then there should be a way to request their family to come (I know I can request workers from holdings, but this seems very limited in its applicability). Perhaps being able to set specific work and off-time schedules for individual dwarves—and making sure families are on the same schedule—would work. I appreciate that the game AI has put a little more focus on performing designating tasks, as in previous versions it could be extremely difficult to get important tasks performed *coughbrokercough*, but it seems like we have gone a little too far in the direction of task-orientation and need to allow our dwarves more time for self-care. I think it would be good to expand the priority system to include workshop tasks and building and hauling tasks, as well as perhaps set priorities for each labor for individual dwarves, while also setting priorities for self-care tasks. This along with the scheduling system is what ONI does, and it works well.
Just a few thoughts I have had. Any other ideas along these lines are welcome.