Er is geen betekenisverschil.
waarschuwen tegen
wijzen op een bestaand gevaar
Waarschuwen tegen roken helpt alleen maar tijdelijk.
waarschuwen voor
wijzen op een mogelijk gevaar
Ik heb je nog zo voor hem gewaarschuwd.
Het onderscheid tussen de betekenis 'bestaand' en 'mogelijk' kan verklaren waarom wij in waarschuwingen betreffende personen altijd voor gebruiken. Dus niet: Ik heb je nog zo tegen hem gewaarschuwd. Bij deze waarschuwing gaat het om wat een persoon mogelijk kan doen. Daarom is het voor (het geval dat). Maar het onderscheid wordt niet algemeen gebruikt.
Ook is het onderscheid vaak niet relevant. Bij een waarschuwing tegen / voor malaria gaat het erom dat de ziekte heerst (realiteit) en dat iemand eventueel besmet kan raken (mogelijkheid).
Waar mogelijk kunt u dit heel subtiele onderscheid nog inzetten. Het verschil tussen een mogelijk gevaar (bijvoorbeeld een eventuele storm) of een bestaand gevaar (bijvoorbeeld een orkaan die in aantocht is) is niet altijd van belang, maar kan soms handig zijn. Bij een waarschuwing tegen gladheid zijn de wegen al glad. Bij een waarschuwing voor gladheid is het mogelijk dat de wegen glad worden.
Zo ook kan er onderscheid gemaakt worden tussen beschermen tegen (een reële dreiging) en beschermen voor (een mogelijke dreiging). Zie voor dit mogelijke onderscheid tussen 'realiteit' en 'mogelijkheid' ook tegen de pijn / voor de pijn.