I hear Holy-Nightmare say this a lot, and I agree. There should be a method to manage aggro. So here's my idea,
Each enemy comes with an invisible meter. This meter can go from 0-50. When the meter is on 0, the first knight the monster sees will cause the meter to go up by 5 and the monster will chase after the knight the monster spotted.
Each weapon has a built in value that increases thr aggro meter by a set amount. The monster will chase after the knight that stacked the highest number.
Every second a monster's aggro meter will decrease by 1. And once it reaches 0 again, it'll be able to go up again from seeing the knight closest to it.
So here's aggro value I made for the weapons. (These values are counted per hit, so a single click from an Autogun can stack over 5 points in the aggro meter)
Autoguns: 1
Antiguas: 1
Alchemers: 2
Pulsars: 5
Catalyzers: 6
Blasters: 2
Magnuses: 4
Caliburs/FoV: 11
Brandishes: 9
Flourishes/thorn blade: 7
Cutters: 5 (ghost slashes give 0 aggro)
Troikas: 20
Sealed Swords: 15
Warhammer: 9
Nitronome: 30
Dark Briar Barrage: 24
Dark Retribution: 5
Irontech: 40
Big Angry Bomb: 45
Vortexes: 20 (the initial pull of the vortex counts)
Hazes: 10 (each tick counts)
SSS/SSB: 28
Other shards: 26
Numbers are still in need of work of course. But I generally tried to give the slower, less mobile weapons higher values.
There is already an Aggro system though it's very strange. I would fight a monster and it would retaliate. Stay idle however, and it'd idle for a while. This was observed in kats and wolvers of the third Tier. This could be just a mere coincidence but I like to think otherwise.