Yes, this is not an ideal situation to be in but for a different reason than what you described here. This implementation was before NIP-89 was even created.
The key problem of this implementation is that it cuts big images to small chunks and breaks the atomicity of events, meaning an event can’t exist on its own semantically.
Generally speaking, we can have 2 approaches to solve this problem.
1. Have a binary format for events instead of JSON which can solve many other problems that nostr:npub1xtscya34g58tk0z605fvr788k263gsu6cy9x0mhnm87echrgufzsevkk5s also cares about. But it requires most relay implementations to change
2. Operate a 3rd party binary storage for encrypted data similar to nostr:npub1nxy4qpqnld6kmpphjykvx2lqwvxmuxluddwjamm4nc29ds3elyzsm5avr7 which is for unencrypted data.
No.2 is the direction that I want to explore first and it might also be a way for Blowater to have some income.