How can I align an object in a discrete sense to the camera orientation?
The most obvious way is to align the object upon its creation. The option Align to View is present on all object creation operator's property, I use this mostly for text object. It will align the object's rotation to whatever active view perspective when the option is checked:



When that's not possible, sometimes I use a bit of Python, too, assigning the camera object's rotation_euler to the object to be aligned. From Python shell:

C.object.rotation_euler = C.scene.camera.rotation_euler