How to prevent resume from sleep/suspend on lid open?
Its no less hacky, but you can simplify the solution by adding echo "LID " > /proc/acpi/wakeup
to the /etc/rc.local file. This way you don't have to create a startup script.
What about changing it to Blank screen when laptop lid is closed. This is way you will not get suspended.
System-->Preferences-->PowerManagement