These operations have payload but we won't have an option to represent the payload in HATEOAS link as they aren't predetermined and can be heavy?
The usual answer is that you document the operations in your description of the media types that you are using for your representations.
One reference to consider is Atom Syndication/Atom Pub. The basic idea being that specification of the media-type tells you how to interpret the document, including the interpretation of the link relations.
See also Fielding, 2008
A REST API should spend almost all of its descriptive effort in defining the media type(s) used for representing resources and driving application state, or in defining extended relation names and/or hypertext-enabled mark-up for existing standard media types. Any effort spent describing what methods to use on what URIs of interest should be entirely defined within the scope of the processing rules for a media type
As a rule, PUT and PATCH should be pretty straight forward - these are remote authoring methods; the request-body of a PUT is normally just an edited version of the representation provided by GET, and PATCH is just a different way of describing the edits (typically using one of the media-types described by the Accept-Patch header).
POST is the hard one - because POST semantics have very loose constraints, there are a lot of degrees of freedom. If you can't describe the additional constraints in line, then you have to lean harder on your definition of the media type.