Try increasing the pixel count: if your image is 450px wide, double it to 900 and then downsample at the time of export.
This will give you more pixels to work with when describing the curves and diagonals.
As an aside, in computer graphics--especially games--you may have encountered anti aliasing methods such as "2x FSAA"
What this means is that the image is upsampled to (or more likely, rendered originally at) 2x the desired pixel dimensions and then downsampled for display. 4x would be 4x pixels count etc. FSAA is used to counter the exact issue you have in your question.
two smart objects: top one is 900px image w/300px type non-rasterized; bottom is 450px image w/150px type. Perspective applied to smart object (i.e. not applied in original placed file) using a recorded action.
the 900px wide image with type rasterized and perspective applied, exported at 50% size.same recorded action as above
the 450px wide image with type rasterized and perspective applied, exported at 100% size. (recorded action resulted in different transform (prob pixel count difference) some of the quality difference may be due to slightly different transform matrix).