I fully support your suggestions.
At the very least we need a public testnet. This would allow users to test upcoming hard forks themselves. It would also allow application developers to test their applications without putting anything on the blockchain. It's kinda crazy that we don't have this TBH. What exactly are developers supposed to do to test their applications?