A good scrying pool engine depends on a high action density. You can achieve this through good (or even decent) trashing or cheap, spammable actions. It is much more viable if you have actions with provide a good source of +coin, so you dont need to buy treasures to slow you down and +buy so you can get even more cheap actions (including turns where you can get another scrying pool and other stuff). If there are terminal actions you will certainly need a village type card. Particularly good cards that I've found for this type of engine include Festival (+coin/buy/actions), Navigator (maximize scrying pool draw) and apothecary (similar to navigator but get those coppers into hand too).
The inverse of this is yes, curses, especially in the absence of trashing, will really slow this engine down. It might not kill it, but it will probably prevent you from drawing your hand every turn.
How to defend against it? Well, if it's the dominant strategy? Play it better I guess. If there are non-curse attacks, you can count on the scrying pool engine to be the one to play them much more frequently.