This may sound radical but I think you can decrease UTM building concerns/complexity and simplify campaign tracking, yet allow it to have hundreds of categorization levels.
Imagine if you broke out your tracking into 2 basic types:
Internal
External
Then using SAINT classification you could break down each type almost in an unlimited manner.
All that required is a 1 time upload of any tracking ID.
KEY(campaign ID)
breakdowns could be,
campaign, medium, size, channel, platform, flux capacitors
Then in reports, dataware house, workspace you can do tons of rich data mining.
Also here is a BIG advantage... once you have an ID you upload and use SAINT you can retroactively edit and correct any time!!!
At this point a simple excel ID generator is all that's needed.