Is there a limit to how much extra data can be put into blocks via scripts? According to this answer, miners can include extra data in blocks.

Is there an upper bound to how much a miner can add? How much?
The maximum size of a block is 1MB. A block can be filled entirely with arbitrary data.

Namecoin actually puts its extra data into the "coinbase" parameter, which is specifically designed to hold arbitrary data. Data put here is limited to 100 bytes, and this data will in the future be safely forgotten by most clients.