I think I have a better approach to that will be easier to implement and will help remove all the problems with confused OL.
1) You keep the DPC as is for the users (including all plays !)
2) Each players that is on the LOS (DT, DE, LB, S,.. = call all of the DL) is assigned an alignments. The sim just read that technique from the DPC diagram
http://football.calsci.com/DefensiveLine.html3) The alignments info tell the sim which OL the DL is attacking. So when the sim assign blockers pre-snap it has a clear way to decide which OL need to block which DL. So if one move a RDE to the corner of the field, he is still register as a weak side 5 and the LOT will be assigned to him.
4) The important part is that the DL movement is predicted, so when you design the blocking you only need to relate to the technique and not the an attempt of the OL to see the DL. This allow you do design specific blocking for specific plays (a deep pass is not blocked the same as a swing pass).
5) You can actually make it fun and give OC some control on different (small number) types of pass/run blocking schemes. So instead of just saying the HB stays to block you actual choose a full blocking scheme (so the OC knows where his blocking weakness is),
http://www.hawgtuff.net/SOME%20SOLID%20PASS%20PROTECTION%20SCHEMES.pdfAfter the play starts OL needs to identify blitzing defenders and slide to the protection.
Once OL logic make sense (you don't see a ROT crossing to the weak side) all you need to do is balance the time an unblocked defender can make it from the backfield to the QB. And have enough plays on the O side that can work before a sack happen. Leave it then to the OC and DC to figure out when to call a blitz or not.
It sound trivial, but from what I seen 95% of the blocking logic problem comes from the O tries to decide who to block on the fly, and get confused by 0.5 pixel move in the DPC.