ACSBY actually if they let you preselect a meal when you book your seat they could charge you less because its prepaid and guaranteed revenue. If you buy on board the price becomes 15-20% higher, say, to account for the potential wastage.
Then again the fact they are supposedly boosting revenues by selling meals and not having enough to sell is further proof they know not what they are doing.
Another solution is to advertise, particularly on long haul flts, that $X has been built into the fare for a meal and then let the pax opt out of it if they don't want it;its just another tick mark on the reservation.