Simple solution. When you get down for 30s to 1 minute and don't get up to continue, you must leave the field and can't return back for 5 minutes. There would be a lot less laying around in agony, then coming back 10 seconds after you leave the field and immediately running around as if nothing happened. It is not 100% fair but it would solve more than it would do harm to current situation.
Also it is mostly on the ref, even with current rules ref could decide and if a player leaves the field and ref thinks he faked it the ref shouldn't alow him back immediately and let him wait for a few minutes on sidelines. There is norule how fast he needs to allow the player back on.