I really like this thread because everyone of your points is valid. However, OSBot features stealth-injection (it modifies internal JVM class files to make it impossible to detect injected methods like Character.getHealth() VIA reflection (the only known technology they use to detect injections). I deobfuscate, fully refactor, and decompile the OldSchool gamecode every couple updates (OSBot's cool updater makes it easy to make their client human-readable, refactored & compilable within minutes!). They haven't changed it one bit.
What I can say is that client-based detection is no longer the immediate threat. It's bot-watch and it's macro analysis based algorithms that really hurt. Jagex has even said it themselves that they're abandoning old bot-detection techniques like random events because bots have been smart enough to the point where all these old techniques no longer work efficiently.
What's causing the problem is that botters, by nature are very lazy people. Most people are probably using the same script that makes the most amount of money, only training one skill, etc. They're not really playing the game... and this is by far too easy to see.
How do we solve this? Well I haven't simply ignored these issues, I've been quite aware that some steps need to be taken to make bots play less like macros, and more like REAL players. Here at OSBot we're currently working on our dynamic web-walker which will be used to be able to schedule scripts around. This is an added plus, since botters are too lazy to switch scripts themselves! The scripts can be schedules in a way that will be almost random but smart. However all this is easier said than done. We're putting a lot of effort and yes these technologies will be available in the future.
Again, there are many more things than what I have mentioned to prevent bans. More discussion is definitely welcomed .