These are a few techniques which should help you to find bugs more efficiently when you're scripting. It should be noted that any techniques unless otherwise specified will work in each of the BI game titles.
Feel free to add any tips that you may feel will benefit other Operation Flashpoint/Armed Assault fans.
If something is not working, check which variables could be wrong, check the output of the variables using hints.
Vektorboson released a debugging console for advanced users that is very helpful at debugging your scripting in real time.
Documentation on using the console can be found http://home.arcor.de/vektorboson/res/console2.0docs.zip here.
If you're at an advanced stage of a project, you can save the game when the bug appears and check the variable and script states with Chain of Command's Binary gamefile viewer.
Keep it simple
If you're having great difficulty solving a problem, simplify the problem, take the part of the mission which does not work, paste it into a new test mission so that you don't have to watch the effect of the rest of the script(s).
If you're scripting for an addon, don't pack the scripts in the PBO, as you have to restart after every change. Rather, make a test mission with the script included there.