I think the main improvement happening in J2ME is that the number of different implementations is decreasing.
Sony-Ericsson, Samsung and Nokia all release J2ME platforms that are consistent across a large number of device models. This means that by testing on under 10 devices, you can actually deploy to many millions of handsets.
Unfortunately, this does nothing to relieve fragmentation at the Mobile Network Operator level so you still really need to retest those 10 devices for every country you deploy your application to. This is THE major issue these days.
J2ME is getting more and more integrated with native functionality on the device (OMA DM, DRM, content-handling...) and that unfortunately tends to highlight gross inconsistencies in the J2ME specs themselves. That s not reducing fragmentation one bit.
The quality of J2ME implementations, and of mobile phone manufacturers software as a whole, doesn t look like it is getting significantly better fast enough so having to deal with many firmware versions (some bugs get fixed, some others get added) is also a major issue.
There is no end in sight for some of these problems.
The toolchains (there are also several of them) are improving at a relatively slow pace but the focus is all on improving development on single devices instead of hopelessly trying to fix fragmentation issues that aren t rooted in the tools.