A lot depends on the type of game. Most RPGs are not realistic, so there is no need for a realistic way of handling death. If you wanted to do a realistic RPG then you could have realistic death, but most people do not really want that when it comes right down to it.
The only real way to have permadeath in a standard cRPG is to go back to the original D&D concept, which is really just a dungeon crawl in search of loot where none of the actual protagonists are that important. Your character dies? Roll another one and join the group. Once you move to a game with a story it gets harder to remove the protagonists from the game, since it kills the narrative.
What are the real options?
1. Reload on death
2. Permadeath, game over
3. Permadeath, replace dead character with another
4. Resurrection on death
5. Death avoidance
1. Reload on Death
We all know what is wrong with this, although I think some people do not appreciate how much it affects the gameplay. Knowing that you can reload makes you a lot more reckless. That suits many people in terms of how they play, which is essentially a trial and error approach. Removing this ability will not spell fun for many.
There is more to reloading than just reload on death. I dislike reloading in general, a lot more than just reloading on death. The problem is that you can reload when anything goes wrong, which I think affects gameplay a lot more than just reload on death. It routinely sabotages game elements such as dialogue, stealth, random outcomes. Rather than approaching a situation with proper preparation and caution, it allows the player to "give it a go" and either keep trying until successful or to then go away and come back better prepared. The effect on gameplay is huge, but save/load is so common that most people never even stop and think about it.
You have to allow saving on demand. System failure is the main reason, but being respectful of people's time is another. You cannot force people to play for an hour before they can quit the game, at least not if you want people to like the game. Loading is different. There is no reason why loading should only be allowed when the game first starts up. Of course, people could just quit the game and restart it, but even a mild inconvenience like that does wonders for discouraging reloading. Tracking how many times a character has been loaded and killed is another mild form of persuasion that is reasonably effective. Remember that it is more important to discourage people from reloading frivolously than to prevent them from reloading at all.
2. Permadeath, game over
I do not see the need for this. My main issue with it is that there are too many things that can go wrong that can lead to death, such as system failure, lag, interference from family members/pets. The other issue with it is that it achieves nothing other than frustration. If anything, it almost twists the game to the opposite extreme where the player takes all available precautions against death, such as using exploits. It certainly does not encourage the player to "behave realistically" if that is the goal. After playing numerous games with "hardcore" mode, all I can say is that encourages players to be liars and cheats.
3. Permadeath, replace dead character with another
This is similar to the D&D concept, where you replace a dead person in the party with a new character. This method works fairly well as far as making death meaningful, since players usually do not want to lose a character they have had for a while. However, this concept only works if the story is defined in such a way that losing any single participant is not an issue, and generally that is hard to do unless the story is insignificant. Another problem is that losing just one character is actually not that common. If one character dies then quite frequently the entire group will get killed, or most of the group gets killed and one or two get away (the Call of Cthulhu concept). Replacing several characters makes for difficult game balance and story design. However, overall I think this concept has more merit than most alternatives, with the right story.
4. Resurrect on Death
I guess you would call this the MMORPG approach. It is more suitable for single protagonist games or games with a party but where the player plays the "main character". The difficulty for the story is explaining why the player character does not die, and the difficulty for the gameplay is making death not something the player takes lightly, since if death has no sting then the player will be even more reckless than if the game can be reloaded.
From the story perspective, the choice is to ignore the fact that the PC does not die or to incorporate it into the story. I think ignoring it is perfectly acceptable, since we usually have no problem ignoring other unrealistic elements, such as the PC carrying around 10 weapons, periodically increasing in power due to killing things, etc. Incorporating resurrection into the story is more problematic, and generally leads to some pretty crummy stories featuring "The Chosen One". I would say include it in the story if it really really works, otherwise ignore it.
Discouraging reckless behaviour due to lack of death is easy enough. Teleporting the PC to a safe spot and forcing them to make their way back to where they were works in many situations, although it is pointless if the player can teleport/fast-travel back to where they were. Having a penalty such as losing gold or abilities can work, but you have to be careful not to make the character unplayable due to repeated deaths. The easiest and most effective method might be the good old experience penalty, whereby the player now has to work harder to make the next experience goal. Of course, some people will find the idea of a penalty highly frustrating, but those same people are probably going to dislike any sort of death limitation.
5. Death Avoidance
I mention this concept because it is what I used to do in pen-and-paper RPG. I have not seen it used in cRPGs, probably because it is hard to do effectively.
The basic idea stems from the inclusion of "fate points" or similar in some RPG systems, noteably Warhammer Fantasy Roleplay. In terms of the player character dying, the idea is simply that when it gets to the point where the character is going to be killed, some instrument of fate intervenes and changes the outcome into something less permanent. Usually this means the player gets knocked unconscious rather than killed outright, or gets disabled then captured, or somehow escapes the encounter. This is easy enough to do in PnP since when the dice roll results in death the player just says "I want to use a fate point" and the gamesmaster makes something up that fits in with the encounter (or at least tries).
Doing this in a cRPG is much harder. For many encounters the PC could be unconscious and "left for dead", but that only works if the enemy moves away or the PC is somehow moved to a different location. Each area could have the equivalent of a jail cell, a trash heap, a morgue etc. which is where the player wakes up. Of course, you have to suspend disbelief to some extent since if the player keeps "dying" to the same enemies you would expect them to wise up to the fact that the PC is not fully dead. Plus, if the enemy is the type that you would expect to eat dead victims then explaining why that did not happen would be tricky. However, although this all sounds rather contrived, there are many other ridiculous situations in cRPGs that do not phase us because we are used to them. With some careful design this concept could be made to work, although it is probably much easier to throw any hint of realism out of the window and just allow the PC to be resurrected.
Final Thoughts
Overall, there is no solution that is definitely better than just allowing the player to reload on death. My own personal preference is for some form of resurrection in a safe place, either with or without a good reason for it, and with some form of experience penalty. This concept adds nothing in terms of realism, in fact it might reduce realism even further, but from a gameplay perspective I much prefer to feel anxious about my character dying than not having to worry about it due to the reload option. In fact, I think any method of penalizing death is better than simply having to reload. However, I think permadeath "game over" is too extreme since I often die for silly reasons, such as my wireless keyboard suddenly locking up or my family interrupting me.