Yea you got a good system there. I kind of take it a step further though.
As a healer, I do the same thing you do. I let the DPS die if they think they are the tank.
As a tank, if the DPS pulls before me, I let them tank it and resume going at a fast pace. Basically I force the healer to spend their resources on me or the pulling DPS. If I die, I just leave and make them wait 2 hours for a new tank.
Honestly the true source of most group problem stems from DPS. I got 5 level 50's and 8 55's. In all my time doing FP's, I met maybe 8 DPS that actually used their interrupt skill.
For me, that tank thing you do is to much, as it punishes healer and other dps that could not do anything wrong.
On healer you can choose who will die (my friend actually made dps apologise to her when she refused to heal him after he complained on her clicking 'confirm' to slow lol) without punishing other 2 members of team, and that thing I do on tank actually works. DPS epeen is being fed (that part when I complement them for their dps) , I'm sure I have their attention on party chat (they say thanks), and lesson learnt (when I mention he would be superb if he kept killing order). It's a win-win (sometimes removing guard works)