I didn't quite find anything more straight forward out there, but you can get creative and utilize some OOTB functions to calculate and manipulate what you're after.
I broke it up into a couple steps so you could see my algorithm more easily. You can use this as proof of concept and starting point. Ultimately you may want to streamline this into an activity or your own data transform, etc.
First I grab the current date.
CurrentDate = @DateTime.getCurrentDateStamp()
Then I reset the date to the first of the month with a little trick using the addCalendar function to actually subtract a calculated date from the current date.
Now I'll use the function again as intended and add 1 month to this. (Also note, I am passing the first manipulated date and not the current date this time. If you try to do it all in one shot, you'll need to consider a different algorithm)
You can use the previous implementation with a small change to ResetToFirstOfMonth and changing the order of calculation. First add 1 month to the current date then subtract the number of the day of the month. In the previous implementation reset to first of the month was done taking day of the month - 1.