I've asked myself this very question a few times, and although I can see advantages and disadvantages to each of the 3 assemblers we currently use for our disassemblies, I decided to take my own route and work on my own assembler, taking my favourite features from ASM68K and AS without the annoying stuff, while also adding features I feel are missing and would make it easier to develop a new game from an existing base. For example, I posted a long guide with several steps explaining how to add a level slot for Sonic 1; with my assembler and what I am planning to implement in it, it would be a matter of a few lines, all in the same area, not scattered all across the disassembly.
Of course, to take full advantage of my assembler's new features, new disassemblies would have to be prepared, but it would just be the perfect occasion to standardize our tools and naming conventions so that we can port stuff from one game to another with a simple copy and paste operation. Are you going to blame me for preferring lazy work to error-prone work? (I'm a programmer, so you can't.) I was also planning on making a disassembler targeting my assembler (with an option to make "generic" code that most assemblers should accept as is or with minor modifications), with a focus on making a disassembly that assembles to a bit-perfect version of the original ROM (which is not always the case with disassemblies generated by IDA Pro, I have heard).
However, some people will complain that those features are too far away from "normal" assembly programming. I came up with a simple solution: make a version suitable for hacking and making new games, and a version suitable for research, where e.g. the raw RAM addresses are written instead of being inferred by the assembler, as is currently the case with the SVN version of the S2 disassembly. The research version could easily be generated from the hacking version, so it would not be duplicated work. And if you want to make a hack but don't like the "higher-level" features, you are, in my opinion, going to miss out on an opportunity to streamline your work.
I'm working on this with the intention of making a hack myself, and I find that the tools we currently have do not cover some special cases, like mappings that reference frames from another mappings set (e.g. Map_obj3A and Map_obj7E in S1, which shares some frames with Map_obj34, making them hard to use with SonMapEd). I'm building my assembler as a library (DLL on Windows), so that applications can use the metadata generated by the assembler, making them effectively work with the code rather than with the data. I'm also working on an application (called Megadev) that will host plug-ins that will be able to work with the source code, making them more flexible and more powerful, without sacrificing usability. Oh, and all of this will be cross-platform, as I am using Qt for Megadev and the assembler is programmed in C. The disassembler mentioned above would also be a plug-in for Megadev.
As great as it may sound (to me at least, but course I'm biased towards my own work), it's a massive amount of work, and I'm afraid that nobody will be interested and that I'll have worked for nothing. I think it sounds promising; some may find it disgusting, especially if you don't like how the S2 SVN disassembly is set up. I started working on my assembler late 2008, and it can't even assemble more than RTS yet (and this was only to test if labels would get assigned the correct value). I'm trying to spread my work over the different subprojects to keep my interest and to be able to release everything at once, because some of the stuff is not as useful as it would be without the other stuff. I'm also using the knowledge I've accumulated over the years to make my software good from the start, I.e. it's not a dirty hack job that will have to be started over because it became unmaintainable.
If you guys are interested, I would like to know. It could completely change our way of hacking and developing games for the Mega Drive/Genesis. Don't expect anything soon, as it's not even half-way done, but it's not a new-born project either and I don't want to just abandon it after all the time and efforts spent on it.