Tal vez esto esté funcionando:
SELECT *
FROM table
WHERE col1 = param1
AND (param2 is null or col2 = param2);
Esto no elimina la condición AND, pero debería hacer que no sea importante en caso de que param2 sea nulo. Así que no respondo claramente a tu pregunta, pero estoy dando vueltas...;)