I think you're being a bit harsh on Anupindi
BA are generally excellent but they need to be told when they are not and I certainly wouldn't be chuffed about being put in urine soaked seats.
Before every flight every seat should be checked for cleanliness, safety cards and life jacket so it's not unreasonable to expect this to be noticed.
A dry cleaning voucher is a bit rich....but I wouldn't expect an upgrade.
The real issue here is the attitude of staff.
A written apology + maybe some BA Miles or a reasonable travel voucher is probably about right imho.
If it happens again then I think you take them to the cleaners (oops - pun definitely not intended) and expect a bit more because they should have fixed their procedures.
Give them a chance to make amends though!!