I switched to zsh so I have not been paying attention to bash so I don't have a top three things to add. I just add things as I stumble on them.
Thanks for the tip on reference variables. definitely better than eval. i will add that to the presentation.
I will look into using set -u and what I can do with that and add it to the presentation. Perhaps make a companion presentation on debugging bash.
Another good presentation would be on how to use bash safely with sudo. I have a sudo presentation that is pretty good for it is for sudo 1.7 and the current version is 1.9 so I would need to update it before giving it.
I have not used associative arrays in bash. I would probably tend to use python if i needed that capability so I am not likely to use aa in bash soon.
Regarding nesting levels of self modifying variables: Yeah, I tried to do it once and failed and did not try to figure out any tricks to get it to work. I just moved to multiline which is easier to debug and comment on for the poor bastard that has to fix my code.