I feel for you... You are a whole lot more patient than I. I would have upgraded a long time ago... Kudos to you! BUT... Do you really think that mediocre hardware changes/upgrades are necessary to better support a software update that functions great on current nextgen iDevices as to put out a whole new phone? Don't you think that will deviate from their track record of new technology versus iDevice releases?
I think you misunderstand the iPhone and it's current release pattern.
While this phone is technically late in it's arrival, it's coming none the less. As far as mediocre hardware changes... I don't understand where you would get that. The ONLY phone model that would have been considered a mediocre upgrade to the previous version was going from the original iPhone to the 3G. There wasn't a big hardware upgrade at all, just a design change. But since then, the 3GS and the iPhone 4 have both been a major leap from previous versions. it might not be the hardware your hoping for, but when compared to the previous versions, it is definitely a big step up in performance, and there is generally a new piece of hardware to go along with it.
No one knows what the next iPhone will look like or what the hardware specs will be, but I can assure you that it will make the iPhone 4 look old and the 3gs absolutely ancient.
As far as the software release coming out at the same time, it just makes sense to release your next big version of iOS with your next big product. It might only be announced at the iPhone's debut, and not get released until the next iPad comes out, or it might be available the day of the announcement, but either way, again, it makes sense to announce the next version of iOS with the flagship product it started with .
Even if Apple didn't release an iPhone next year, they would still have a new version of iOS. They have to stay ahead of the competition. That being said, that's why there is a new phone every year as well.
They might not jump on the 4G bandwagon past the "enhanced version of 3G" that AT&T and T-Mobile have been calling 4G, but they aren't going to introduce a LTE phone until they can make sure that battery life will not be affected, and that there is a strong enough network in place to support it.