Here my Take on the Stamina Thing:
When you start out, the pokemon has full stamina. Over time, let's say 2.5 minutes, the stamina gradually decreases even if you're not doing anything. (we'll say stamina goes from 0 to 150, so 1 stamina point every second)
Now, when your pokemon takes damage, they will lose additional stamina points, depending on the attack they're hit with. When their stamina gets low enough, they move slower, maybe have more lag, a little less power, etc. Then you are forced to switch them out. This way it works like the Magic Armor in TP, it drains constantly at a slow rate, and additionally if you're hit.
But when you switch the next pokemon out, let's say you lose 10 stamina points for your new pokemon right off the bat. But now let's say you hate Ivysaur, and you want to get Charizard right after Squirtle, so you change again immediately. If you change the pokemon within 20 seconds of the previous change, that next Pokemon loses 10 stamina points plus an additional 5 stamina points, 15. If you change again within 20 seconds of that last change, you lose 15 points + 5, and so on. If you keep switching, you pokemon will become increasingly tired straight out of the pokeball.
When the pokemon aren't in battle, they would heal 3 times as fast. So they'd be completely healthy in 50 seconds or less. But if you keep switching, they don't ave much time to rest and are losing more stamina points by the quick swapping.
That's how I think it should work.