BOM is not bad for UCS-2 or UCS-4, what bad is utf-8 + BOM.
BOM in UCS-2 or UCS-4 is a single ucs character which is not valid in anywhere else (thus not causing any problem).
utf-8 is designed to have backwards compatibility with ascii *and* many local encodings, the utf-8 bom appears to be 3 valid characters in iso8859 and many european encodings. which adds a lot of complexibility in processing them and breaks backward compatibility of many existing Unix utilities.