Not sure why you think content placeholders cannot be rotated.
There is nothing in the Object Model to set the crop type but it is possible by calling executeMso (essentially having code click the button)
Try this
Code:
Sub fixCrop()
Dim osld As Slide
Dim oshp As Shape
For Each osld In ActivePresentation.Slides
For Each oshp In osld.Shapes
If oshp.Type = msoPlaceholder Then
If oshp.PlaceholderFormat.Type = ppPlaceholderPicture Then
ActiveWindow.View.GotoSlide (osld.SlideIndex)
oshp.Select
CommandBars.ExecuteMso ("PictureFitCrop")
End If
End If
Next
Next
End Sub