1. Есть вариант анимировать используя фильтр блюр. Поизвращаться придется конечно, но вполне себе будет рабочий вариант
Пример
Обязательно нужно учитывать, что фильтр на контейнере применится ко всему что в него вложено, соответственно, эти штуки придется делать на отдельном диве.
2. Как предложили выше - svg path
3. Canvas - трудоемкость большая
Вот
подборка примеров "жидких" эффектов