a checkpoint after a log backup will not mark additional log records as reusable and hence will not allow a shrink to reclaim more space than it would if the checkpoint had not been run after the log backup.
Totally agree.
So, the order would be:
1) checkpoint
2) BACKUP LOG MYDatabase TO DISK='D:\transactionLogBackup1.trn'
3) DBCC SHRINKFILE('MyTransactionLogName', 1000) -- 1000 MB. Set as you like.
Repeat 1-3 until shrinked